Installation
Install xcross on Windows or Linux using the one-line installer, then finish host setup.
Both installers download the latest release, install it, add xcross to your PATH, verify the binary, and print any missing prerequisites with install hints.
Windows
xcross runs natively on Windows - no WSL required, though WSL works too.
-
Run the one-line installer from PowerShell:
irm https://raw.githubusercontent.com/arxdeus/xcross/main/install.ps1 | iex -
Install Swift and LLVM from an Administrator PowerShell (the installer tells you if they’re missing):
winget install --id Swift.Toolchain --exact winget install --id LLVM.LLVM --exact -
Install Flutter, Python 3, and
pymobiledevice3, then finish setup:py -m pip install -U pymobiledevice3 xcross setup xcross sdk install C:\Downloads\Xcode.xip # once, takes a while
Linux
-
Run the one-line installer:
curl -fsSL https://raw.githubusercontent.com/arxdeus/xcross/main/install.sh | sh -
Let xcross install its apt dependencies and
pymobiledevice3, and prepare the Darwin SDK:xcross setup xcross sdk install ~/Downloads/Xcode.xip # once, takes a whilexcross setupalso installsusbmuxd,usbutils, andlibimobiledevice-utilsfor USB device access and diagnostics.
Verify the install
Both installers verify the binary automatically, but you can re-check at any time:
xcross --help
If this fails after installation, make sure the installer’s target directory was added to your PATH and restart your shell.
| Host | Default install location | PATH entry |
|---|---|---|
| Windows | %LOCALAPPDATA%\xcross | %LOCALAPPDATA%\xcross\bin, added to the user PATH |
| Linux | /usr/local/bin/xcross (native libraries in /usr/local/lib) | /usr/local/bin, appended to your shell profile |
NoteOverride the target with $env:XCROSS_INSTALL_DIR on Windows or INSTALL_DIR on Linux, and pin a release with XCROSS_VERSION (for example v1.2.3) on either platform. On Linux the installer elevates with sudo when the target directories are not writable.
Shell completion
Print a completion script and append it to your shell config to enable tab-completion:
xcross completion >> ~/.bashrc
xcross completion >> ~/.zshrc
Restart your shell, or source the file, to pick up the change.
Updating
Re-run the same one-line installer to update to the latest release. It downloads the current binary, reinstalls it in place, and re-verifies it - there is no separate update command.
See also
- Requirements - the host ingredients you need before and after installing.
- Darwin SDK - what
xcross sdk installdoes with yourXcode.xip. - Authentication - setting up Apple ID or API key credentials.
- Quick start - go from install to a running app.