Skip to content

xtool

Builds and installs iOS apps from SwiftPM projects on Linux, Windows, and macOS, without Xcode.

Stars
14.5k
Forks
803
Licence
MIT
Language
Swift
Last update
6 days ago
Type
Dev tool

What it is

xtool is a command-line tool that replaces parts of Xcode, Apple's iOS development app. It lets you build a Swift Package Manager project into an iOS app, sign it, and install it on an iPhone or iPad from Linux, Windows (via WSL), or macOS. It also includes a library for talking to Apple Developer Services from your own code.

  • Create a new SwiftPM project with xtool new and run it on a connected device with xtool dev
  • List connected devices, then install or launch an .ipa file with xtool devices, install, and launch
  • Use the XKit library in your own Swift app to interact with Apple Developer Services
  • Set up the Darwin Swift SDK and authentication through the setup, sdk, and auth subcommands

Great for

  • Developers who want to build iOS apps but do not use a Mac as their main machine
  • Swift developers who already organize their projects with SwiftPM
  • People comfortable with a terminal who want a scriptable build-and-install workflow
  • Developers who want to automate Apple Developer Services tasks from their own Swift code

Not ideal for

  • People who need the full Xcode graphical interface, storyboards, or Interface Builder, since the README describes it as a command-line replacement
  • Teams that need guaranteed compatibility with every Apple toolchain feature, since the README does not describe coverage details
  • Complete beginners to programming, since setup involves Apple developer accounts and signing
Step-by-step guide: how to use xtoolInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    You'll need: Linux, Windows with WSL, or macOS · An Apple ID for signing and device installation

    Clone the repository

    git clone https://github.com/xtool-org/xtool
  2. 2

    Run it

    • Follow the installation guide for your platform at xtool.sh (Linux/Windows or macOS).
    • Run xtool setup to set up xtool for iOS development.
    • Run xtool new to create a SwiftPM project.
    • Connect an iOS device and run xtool dev to build and run the app.
    • Follow the first-app tutorial at xtool.sh for a full walkthrough.
  3. 3

    Get the most out of it

    • Use xtool help <subcommand> to see detailed options for each command
    • Use xtool devices, install, uninstall, and launch to manage apps on a connected device
    • Add XKit as a SwiftPM dependency to use Apple Developer Services from your own Swift code
    • Check the Documentation folder and the xtool.sh docs for platform-specific guidance

Downloads

Strengths

  • Runs on Linux, Windows via WSL, and macOS, so it is not tied to a Mac
  • Uses SwiftPM and open standards rather than an Xcode project format
  • MIT licensed and actively maintained, with a recent push date and a large community of stars

Trade-offs

  • Depends on Apple Developer Services and signing, which requires an Apple account and can add setup friction
  • The README is truncated and gives limited detail on which Xcode features are missing
  • Installation instructions are on an external website, so the README alone does not show every step

How it compares

ProjectStarsTypeLevelUpdatedBest for
xtool (this)14.5kDev toolintermediate6 days agoDevelopers who want to build iOS apps but do not use a Mac as their main machine
fastlane42.3kCLIintermediate4 days agoiOS developers who repeat the same build and release steps by hand
SwifterSwift15.3kLibrarybeginner4 days agoSwift developers building iOS or macOS apps who want common helper methods ready to use
Kingfisher24.4kLibrarybeginner4 days agoiOS or macOS developers who need to show remote images in lists or detail screens
kivy19kFrameworkintermediate4 days agoPython developers who want one codebase for desktop and mobile apps
popcorntime10.7kAppintermediate2 months agoPeople who want one app to browse movies and TV shows across platforms

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.