Skip to content
xcross
Documentation menu

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.

  1. Run the one-line installer from PowerShell:

    irm https://raw.githubusercontent.com/arxdeus/xcross/main/install.ps1 | iex
  2. 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
  3. 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

  1. Run the one-line installer:

    curl -fsSL https://raw.githubusercontent.com/arxdeus/xcross/main/install.sh | sh
  2. Let xcross install its apt dependencies and pymobiledevice3, and prepare the Darwin SDK:

    xcross setup
    xcross sdk install ~/Downloads/Xcode.xip   # once, takes a while

    xcross setup also installs usbmuxd, usbutils, and libimobiledevice-utils for 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.

HostDefault install locationPATH 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 install does with your Xcode.xip.
  • Authentication - setting up Apple ID or API key credentials.
  • Quick start - go from install to a running app.
ESC