Build, debug and hot-reload iPhone apps on Omarchy A new open-source kit, omarchy-ios-kit, lets developers build, run, debug and hot-reload iPhone apps on Linux running Omarchy 4.0.4 without a Mac, using Swift 6.4.0-2, the iOS SDK from Xcode 27, xtool and pymobiledevice3 11.26.0. The kit's `ios-run --live` command updates a running app on a USB-connected iPhone in about 0.7 seconds while preserving state, and `ios-run-dev` provides breakpoint debugging through terminal lldb or VS Code's debugger. It requires a paid Apple Developer Program account ($99/year), about 10 GB of disk space for the toolchain and SDK plus about 6 GB per iOS version debugged, and does not provide the iOS Simulator, SwiftUI Previews, Interface Builder or Instruments on Linux. Build, run, debug and live-edit iPhone apps on Linux Omarchy . No Mac needed. This kit turns a Linux machine with omarchy-apple-dev https://github.com/joshuaswarren/omarchy-apple-dev which installs Swift, Apple's iOS SDK and xtool https://github.com/xtool-org/xtool into a full day-to-day iPhone development setup: | You get | How | |---|---| | One key to build, install and open the app on your iPhone, with its print output in the terminal | ios-run VS Code: F6 / Ctrl+Shift+B / SUPER+R | | Debugging with breakpoints: terminal lldb or VS Code's debugger gutter breakpoints, variables, stepping, Debug Console | ios-run-dev VS Code: F5 / SUPER+SHIFT+R | | Hot reload : save a .swift file and the running app on the phone updates in about 0.7 s , keeping its state | ios-run --live the run keys do this automatically | | New apps set up for all of the above in one command, ready for git and coding agents | new-ios-app MyApp | | Toolchain upkeep Swift/Xcode version match, patches | ios-toolchain-upgrade | What you don't get on Linux: the iOS Simulator, SwiftUI Previews hot reload on the real phone replaces them , Interface Builder and Instruments. The phone connects over a USB cable . Every step was tested on a real iPhone, and every trap found along the way is written down here and in docs/HOW-IT-WORKS.md https://github.com/JonathanInTheClouds/omarchy-ios-kit/blob/master/docs/HOW-IT-WORKS.md , so you don't have to find them again. | Piece | Version | |---|---| | OS | Omarchy 4.0.4 Arch Linux , x86 64 | | Swift | AUR swift-bin 6.4.0-2 | | iOS SDK | from Xcode 27 iPhoneOS 27.0 | | omarchy-apple-dev | commit 521464e xtool fork commit f0a1f90 | | pymobiledevice3 | 11.26.0 | | usbmuxd / libimobiledevice | 1.1.1 / 1.4.0 | | VS Code | 1.141, with the Swift extension swiftlang.swift-vscode and LLDB DAP llvm-vs-code-extensions.lldb-dap | | iPhone | iOS 26.6.1 and 26.6.2, over USB | | Apple account | paid Apple Developer Program, signed in to xtool with an App Store Connect API key | Other versions may well work; these are the ones every step here ran on. - A Linux machine running Omarchy other Arch-based setups are close; the Omarchy-specific parts are optional keys and the Lua Hyprland config . - An iPhone and a USB data cable not a charge-only cable . Wireless install doesn't work from Linux on current iOS. - An Apple Developer account. The paid program $99/year is what this was tested with: installs stay valid for about a year and you can use App Store Connect API keys and TestFlight. xtool also accepts a free Apple ID 7-day installs, fewer features ; that path isn't tested here. - The Xcode .xip matching your Swift version, downloaded from Apple with any free Apple ID: see 3.4 34-download-xcode-the-sdk-comes-from-it . Only the SDK is taken out of it; Xcode never runs. - Disk space: about 10 GB for the toolchain and SDK, plus about 6 GB per iOS version you debug on debug symbols, made automatically on the first debug run . - VS Code optional but recommended with the extensions Swift swiftlang.swift-vscode and LLDB DAP llvm-vs-code-extensions.lldb-dap . omarchy-apple-dev does the heavy lifting Swift, SDK, xtool, pymobiledevice3 . Read its README too; these are the steps and the lessons learned on top of it. The Swift compiler on Linux must be the same version Apple used for the SDK: Swift 6.4 ↔ Xcode 27 , Swift 6.3 ↔ Xcode 26. A mismatch breaks every build "this SDK is not supported by the compiler" . Check omarchy-apple-dev's README for its current version table. git clone https://github.com/joshuaswarren/omarchy-apple-dev ~/Tools/omarchy-apple-dev Any folder works the kit asks where . Keep it out of ~/.local/share/omarchy-apple-dev : a future Omarchy menu entry for iOS pending upstream at the time of writing would reuse and delete that folder when removing iOS support. The AUR swift-bin package must not update on its own: a routine system update to a new Swift version would no longer match your SDK. Hold it first: sudo sed -i '/^HoldPkg/a IgnorePkg = swift-bin' /etc/pacman.conf The kit's install.sh offers this too. ios-toolchain-upgrade does the upgrade properly when you choose to; see 10.1. Apple ships the iOS SDK only inside Xcode, so you need one download of Apple's Xcode