Back to Devoured - October 14, 2026
DEVOURED
Xtool (GitHub Repo)

Xtool (GitHub Repo)

DevOps GitHub
Xtool allows developers to build, sign, and deploy iOS apps from Linux, Windows, and macOS by replicating Xcode functionality using open standards.
What: Xtool is an open-source tool that enables cross-platform iOS development using SwiftPM. It supports programmatic interaction with Apple Developer Services and provides a library, XKit, for custom integration.
Why it matters: This reduces the reliance on macOS hardware for the entire iOS development lifecycle, lowering the barrier for CI/CD pipelines running in non-Apple environments.
Takeaway: Use the 'XKit' SwiftPM dependency to interact with Apple Developer Services from your own applications.
Deep dive
  • Implements functionality traditionally locked to Xcode via open standards.
  • Supports building SwiftPM packages into iOS applications.
  • Provides command-line tools for device management including installation, uninstallation, and launching.
  • Enables automation of Apple Developer Service interactions.
  • Facilitates cross-platform CI/CD for iOS development.
Decoder
  • SwiftPM: The Swift Package Manager, a tool for managing the distribution of Swift code.
  • Darwin Swift SDK: The set of tools and libraries needed to compile Swift code for Apple platforms.
Original article

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

$ xtool --help
OVERVIEW: Cross-platform Xcode replacement

USAGE: xtool <subcommand>

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 <subcommand>' for detailed help.

Library

xtool includes a library that you can use to interact with Apple Developer Services, iOS devices, and more from your own app. You can use this by adding XKit as a SwiftPM dependency.

// package dependency:
.package(url: "https://github.com/xtool-org/xtool", .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")
Explore all 54 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi