« All posts

Build, Sign and Ship iOS Apps From Linux Without a Mac

A complete iOS build, device-deploy and App Store Connect upload pipeline running entirely on Arch-based Omarchy Linux, no Mac or Xcode required.

A working toolchain on Arch-based Omarchy Linux — Swift 6.4.0, xtool 1.20.1, pymobiledevice3 and an extracted Xcode 27 iOS SDK — lets developers build SwiftUI apps and install them on a physical iPhone over USB with no macOS or Xcode installation anywhere. The install-toolchain.sh script automates setup on both x86_64 and Apple Silicon Linux machines, leaving only one unavoidable external step: downloading Xcode's .xip from Apple, which can be done from any OS. A free Apple ID is enough for device installs.

Wireless deployment is blocked for Linux-only setups because iOS ties each RemotePairing tunnel to a host that previously enabled network pairing on a Mac, but USB deployment works universally with no such gate. A companion ship.sh script builds a release .app, signs it, validates the resulting .ipa offline, and can upload directly through the App Store Connect API — real apps including NetNewsWire have shipped through this pipeline and passed App Store Connect validation.

Critically, swapping Swift toolchain versions via mise, asdf, or manual installs doesn't disturb device pairing, Apple ID auth, or the cached SDK, since these live in separate user-global paths; a --repair command re-registers the SDK after a swap. The result is a reproducible, Mac-free iOS build-and-ship pipeline that Linux-based teams can fold into CI and daily development.

This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work