DEVOURED
Xtool (GitHub Repo)
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
- Follow the guide to install
xtool- Installation (Linux/Windows)
- Installation (macOS)
- Create and run your first xtool-powered app by following the tutorial!
Examples
Screenshot
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