xtool Vibe 项目

跨平台 Xcode 替代品,在 Linux/Windows 上构建并部署 iOS 应用

项目简介

xtool 是一款开源、跨平台的 Xcode 替代工具,让开发者无需 macOS 即可在 Linux、Windows(WSL)乃至 macOS 上完成 iOS 应用的构建、签名、安装与运行。项目由 Kabir Oberai 在 Swift Forums 社区展示后迅速走红,GitHub 星标数已突破 8800,并被 Reddit、Hacker News、Medium、OSNews 等多个技术社区报道。xtool 专为希望摆脱 Xcode 臃肿工作流、用 SwiftPM 干净声明式构建 iOS 应用的开发者而设计。

核心功能

  1. SwiftPM 直接构建 iOS 应用:xtool 不生成 .xcodeproj,直接读取 Package.swift,把 Swift Package 编译成可在真机/模拟器上运行的 iOS App,整个流程无需 xcodebuild。
  2. 设备签名与安装:通过 xtool auth 与 Apple Developer Services 通信,自动化处理证书、Provisioning Profile、签名与 ipa 安装到 iPhone,Linux/Windows 用户也能像 Mac 用户一样完成真机调试。
  3. 极速 sub-second 构建:相比 xcodebuild 的数秒到分钟级等待,xtool 的增量构建可在一秒内完成,开发者改完代码即可立即 xtool dev 看到效果。
  4. XKit 嵌入式库:xtool 同时暴露 XKit SwiftPM 库,让第三方 App 可以程序化调用 Apple Developer Services、iOS 设备管理、App 安装/卸载等接口,构建 CI/CD 流水线或自动化测试平台。
  5. 跨平台一致性体验:同一份 SwiftPM 项目在 Linux、WSL、macOS 上命令完全一致,开发者切换平台无需重新学习工具链。

技术实现

xtool 完全以 Swift 编写,复用开源 Swift 工具链与 Clang,绕开 Xcode 的 GUI 与 CocoaPods 之外的私有构建系统。它通过解析 Package.swift 得到模块依赖,直接调用 swiftc + ld 完成 Mach-O 二进制生成,再利用 Apple 公开的 Developer Services REST API(基于自管证书与 Token)完成签名与设备注册。XKit 子模块则把这一整套能力封装为可组合的 Swift Package,让任何 Swift 应用都能在自己的进程里完成"build → sign → install"链路。命令行层通过 ArgumentParser 提供 setup / auth / sdk / new / dev / ds / devices / install / uninstall / launch 等子命令,模块化地把构建、签名、设备三大职责拆分清晰。

快速上手

  1. 安装:在 macOS/Linux/WSL 终端执行 xtool 安装脚本(详见 xtool.sh 文档),并准备 Apple Developer 账号;
  2. 初始化项目:xtool new MyApp 生成 Package.swift、xtool.yml、SwiftUI 入口源码与 .gitignore;
  3. 登录 Apple Developer:xtool auth 按提示登录 Apple ID 并下载证书;
  4. 开发与调试:xtool dev --simulator 在模拟器运行;插上 iPhone 后 xtool dev 直接签名并安装到真机;
  5. 设备管理:xtool devices / install / launch / uninstall 一组命令完成 ipa 与设备的全部交互。

适用人群

  • 想在 Linux/Windows 机器上做 iOS 开发的工程师;
  • 对 xcodebuild 速度不满、追求 sub-second 构建的 iOS 老兵;
  • 用 SwiftPM 管理项目、希望以纯命令行方式构建 CI/CD 的团队;
  • 想在 Swift 应用中自动化与 Apple Developer Services 交互的工具开发者。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论