Requirements
What your Windows or Linux host, your iPhone and your project need before running Flutter or Compose Multiplatform apps with xcross.
Host
pymobiledevice3xcross setupcompose setupImportantInstall Swift 6.4 or newer first (on macOS, the Swift paired with your Xcode). setup, sdk install and the doctors reject older swift.org toolchains. xcross sdk install patches the SDK for the active Swift toolchain, so switching Swift later means re-running it.
Per host
# Runs the winget, Scoop or Chocolatey setup script (asks which if several),
# or direct.ps1 when none is installed. Each package is confirmed first:
# VS Build Tools, Swift, LLVM, Python, then pymobiledevice3.
xcross setup
xcross setup --manager winget # pick one explicitly
# Install Swift from swift.org (swiftly is easiest), then:
xcross setup # apt / dnf / pacman: clang, lld, usbmuxd, pipx, pymobiledevice3
# On Windows: attach the iPhone to WSL
usbipd attach --wsl --busid <BUSID>
# Inside WSL: same as Linux
xcross setup
Windows: Apple drivers
USB access needs Apple’s drivers. Install both from Apple, not the Microsoft Store:
No need to sign in to either. Reconnect the iPhone and tap Trust This Computer.
Device
Host architectures
Compose’s Kotlin/Native compiler only ships for x64 hosts on Windows and Linux. The Windows installer picks the native ARM64 build even from an emulated x64 PowerShell.
Check it all at once with xcross flutter doctor or xcross compose doctor.