xtool Builds iOS Apps on Linux, With Gaps That Matter
Software / news
xtool Builds iOS Apps on Linux, With Gaps That Matter
The MIT-licensed Xcode replacement has about 9,400 GitHub stars, while its issue tracker shows WSL2 hangs, an empty widget binary and an open licence question.

xtool, an MIT-licensed tool that builds and installs iOS apps from Linux, Windows under WSL and macOS without opening Xcode, now shows about 9,400 GitHub stars, 399 forks, 57 open issues and 35 open pull requests. It shipped release v1.22.2 on Oct. 14, and its tracker filled with new reports through the week.
The README describes it as "a cross-platform (Linux/WSL/macOS) tool that replicates Xcode functionality with open standards." It turns a SwiftPM package into an iOS app, signs and installs it, and talks to Apple Developer Services. The commands include auth, devices, install, uninstall and launch.
Stars measure attention, not use, a point this desk made about another trending repository. The more useful data is in what people are filing.

What the open issues on Oct. 9 to 13 show
The tracker's recent entries read like a list of where the Linux and Windows route still breaks. Issue #316, opened Oct. 11, reports that xtool setup hangs at 72 percent during Xcode XIP extraction on WSL2. Issue #310, opened Oct. 10, says xtool 1.21.0 on WSL2 x86_64 fails to generate its actool wrapper.
Issue #313, also from Oct. 10, says a widget app extension's binary is empty after dead-stripping and crashes in ExtensionFoundation on launch. Issue #305 describes a free-team certificate with a leading-zero serial that is never matched, so the user is told on every run that certificates must be revoked.
Issue #331, opened Oct. 13, asks about native Windows support without WSL. The oldest item in the list, #144, asks for the ability to build Xcode projects, and was opened July 22, 2025.
Release v1.22.2 changes how xtool logs in
The releases page lists v1.22.2 as the latest, dated Oct. 14. Its breaking change is that the device identity sent during Apple ID login now presents as a Pixel 7, which the release notes say fixes authentication problems. Anyone using Apple ID authentication has to log in again after updating.
That fits two open reports, #308, where auth login returns an expired token, and #283, where the 2FA code never arrives during xtool setup.
| Area | Status | Source |
|---|---|---|
| Interface Builder | Not planned | Author, May 8, 2025 |
| Asset catalogs | Raw images only | Author, May 2025 |
| App extensions | Not yet supported | Author, May 2025 |
| App Store upload | Not yet supported | Author, May 2025 |
| Debugging | Not built in | Author, May 10, 2025 |
The licence question and what xtool ships
The table above comes from the author's launch thread on the Swift Forums, where Kabir Oberai posted on May 8, 2025. The thread is 17 months old, so some rows may have moved, and the README lists no limitations at all.
The setup asks users to supply their own Xcode.xip, Apple's Xcode download. Oberai wrote that "xtool itself doesn't vend any traces of the Apple SDKs / toolchains."
A forum user named Karl quoted the Apple Developer Program License Agreement on May 9, 2025: "You agree not to install, use or run the Apple SDKs on any non-Apple-branded computer." Karl wrote that he is not a lawyer and would not be surprised if such use violated the agreement. Oberai advised reading the agreement and suggested doing the final App Store build on macOS CI.
Apple has not commented in anything reviewed here, and no source reviewed shows a ruling on the question.
What to check before depending on it
A project that is pure SwiftUI with no extensions fits the supported path today. Anything with a widget, a custom asset catalog or a non-Swift dependency will meet the gaps in the table.
The project moves quickly: v1.21.0 appears in an issue from Oct. 10 and v1.22.2 is dated Oct. 14. Replacing a default toolchain carries limits, as Anthropic's move off git to Scion did when the company called Scion unsuitable as a general replacement. The next item to watch is #331, the request for native Windows support without WSL.
Sources
More in Software
- 01Gentoo Developer Asks Python Projects to Drop uv-buildMichał Górny says Astral's Rust build backend is 1.2 to 1.5 MiB against 45 KiB for flit-core, and that its release pace forces source rebuilds for Gentoo users.
- 02context-mode Claims 98% Less Agent Context Under Elastic LicenseThe 28,300-star plugin for Claude Code and about 17 other coding agents ships under ELv2, which Elastic says is not open source, and its README gives no method for the 98 percent figure.
- 03Apple's Safari-vs-Chrome Claims Rest on Prerelease BuildsThe footnotes on Apple's new Switch to Safari page show tests run in August 2026 on one laptop, against two different Chrome builds.
- 04Rust Borrow Checker Bug 11 Years Old Lets Safe Code Hide a Short-Lived Reference in a 'static ValueIssue #164250 shows a Drop impl smuggling a stack reference past the compiler on stable releases back to 1.85.0, and commenters trace variants to Rust 1.4.