15,277
stars
898
forks
48
watchers
241
prs
170
issues
32
releases
19
discussions
README
xtool
Cross-platform Xcode replacement. Build and deploy iOS apps with SwiftPM on Linux, Windows, and macOS.
Overview
xtool is a cross-platform (Linux/WSL/macOS) tool that replicates Xcode functionality with open standards.
✅ Build a SwiftPM package into an iOS app
✅ Sign and install iOS apps
✅ Interact with Apple Developer Services programmatically
Getting Started
1. Follow the guide to install xtool
- Installation (Linux/Windows)
- Installation (macOS)
2. Create and run your first xtool-powered app by following the tutorial!
Examples
Screenshot
!A screenshot of xtool being invoked from VSCode
Command line interface
bash
$ xtool --help
OVERVIEW: Cross-platform Xcode replacement
USAGE: xtool
OPTIONS:
-h, --help Show help information.
CONFIGURATION SUBCOMMANDS:
setup Set up xtool for iOS development
auth Manage Apple Developer Services authentication
sdk Manage the Darwin Swift SDK
DEVELOPMENT SUBCOMMANDS:
new Create a new xtool SwiftPM project
dev Build and run an xtool SwiftPM project
ds Interact with Apple Developer Services
DEVICE SUBCOMMANDS:
devices List devices
install Install an ipa file to your device
uninstall Uninstall an installed app
launch Launch an installed app
See 'xtool help ' for detailed help.
Library
You can consume xtool itself as a Swift Package, to enable your own app to interact with Apple Developer Services, iOS devices, and more. You can use this by adding XKit or XToolSupport as a SwiftPM dependency.
Note: while we aim to uphold semver semantics on the CLI interface (breaking change = major version bump), the Swift interface does not offer the same guarantees.
swift
// package dependency:
.package(url: "https://github.com/xtool-org/xtool", .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")Top issues
#19`xtool dev` stuck on Connecting step23 comments · 2025-05-11#28Build Compose Multiplatform / Flutter / React Native apps11 comments · 2025-05-12#311iOS Simulator support on Linux/Windows8 comments · 2026-10-10#144Ability to build Xcode Projects8 comments · 2025-07-22#117Upload build to App Store7 comments · 2025-06-13#310xtool 1.21.0 on WSL2 x86_64 fails to generate actool wrapper during `xtool dev build` `6 comments · 2026-10-10#197@Observable macro fails on Linux: 'shouldNotifyObservers' not covered by macro (Swift 6.2.3)6 comments · 2026-01-25#52Support WeatherKit capability6 comments · 2025-05-17
Discussions
#423Field report: Unity as a Library in a SwiftUI app built with xtool on Linux1 comments · 2026-11-05#420`xtool dev` fails at package planning on Swift 6.4.2 (Linux): SwiftBuild linker probe reports `ld.lld -version_details` JSON parse error1 comments · 2026-11-01#384Error: This action cannot be completed at this time. (-80046)1 comments · 2026-10-23#368Workaround for "Could not send verification code"2 comments · 2026-10-19#347Does it has support for React Native2 comments · 2026-10-14#335For windows1 comments · 2026-10-13#307Is this support flutter?1 comments · 2026-10-10#212Is there a way to use C++ interoperability?0 comments · 2026-04-23
Latest release
v1.24.0 1.24.0 2026-10-26This release fixes another source of HTTP 503 errors when authenticating with an Apple ID. What's Changed entitlements: support Sign in with Apple by @victoragudo in https://github.com/xtool-org/xtool/pull/377 sdk: accept directories for tarball overrides by @ap-1 in https://github.com/xtool-org/xtool/pull/385 deps: force OpenCombine in the DemoTCA lockfile by @ap-1 in https://github.com/xtool-org/xtool/pull/391 pack: link edited dependencies into the builder package by @ap-1 in https://github.com/xtool-org/xtool/pull/390 gsa: update user agent by @kabiroberai in https://github.