ARTICLE · 1192962
不打开 Xcode,也能写 iOS App?这个开源工具值得一试
内容摘要
xtool 把 iOS 应用构建、签名和真机安装串成跨平台流程。Linux、Windows 用户也能尝试,但 SDK 和账号门槛依然要弄清。

写一个 iPhone App,第一步就得买 Mac、打开 Xcode?
对不少开发者来说,真正拦住自己的不是 Swift 语法,而是一整套陌生的工具:SDK、签名证书、开发者账号、设备配对……代码写完了,也不一定能装进手机。
xtool 想解决的,就是“从代码到真机”这段路。
这个开源项目把 iOS 应用构建、签名和安装串成命令行流程,让 Linux、Windows 用户也有机会在自己熟悉的电脑上开发 iOS App。Windows 走的是 WSL,也就是在 Windows 中运行 Linux 环境,并不是直接安装一个 Windows 版 Xcode。

一、它替代的,不是一整个 Xcode 界面
项目在 GitHub 上把自己称为“跨平台的 Xcode 替代品”。这句话很吸引人,但要理解准确。
xtool 不是把 Xcode 的界面搬到其他系统,也不是给 Windows 塞进一个 iOS 模拟器。它更像是把常用的开发环节拆出来,变成可以组合的工具。
你可以在熟悉的编辑器里写 Swift,用 Swift Package Manager(Swift 官方的包管理与构建工具,简称 SwiftPM) 管理项目和依赖,再让 xtool 把项目打包成 iOS 应用。
它主要接手三件事:
- 构建应用:把 SwiftPM 项目变成可安装的 iOS App。
- 处理签名与安装:连接 Apple 开发者服务,准备所需的证书和配置描述文件,再把应用装到真机。
- 管理开发相关操作:提供账号认证、SDK 管理、设备查看、应用安装和启动等命令。
仓库还提供了 XKit 库,其他 Swift 项目也能复用它访问 Apple 开发者服务、与 iOS 设备通信的能力。
所以,xtool 更有价值的地方是:你不必把所有开发工作都放在 Xcode 里完成。这和“Xcode 的每项功能都已经被替代”是两回事。
二、用熟悉的编辑器,写真正的 iOS 应用
xtool 的入门教程用 SwiftUI 创建一个简单应用。SwiftUI 是 Apple 用来描述界面的框架:你写出界面由哪些文字、按钮和布局组成,再交给系统呈现。
生成的项目里,几个关键文件各司其职:
Package.swift负责项目依赖、构建目标和资源。xtool.yml负责应用打包信息,例如应用的唯一标识。HelloApp.swift和ContentView.swift分别承载应用入口和界面代码。
这套结构比较适合习惯“编辑器+终端”的开发者:项目配置能直接阅读,也方便放进版本控制,而不是所有操作都依赖图形界面。
编辑体验也不是只能靠记忆敲代码。配合 Swift 扩展和 SourceKit-LSP(给编辑器提供代码补全、文档提示与诊断的语言服务),可以在 VS Code 等编辑器里获得更顺手的开发体验。Windows 用户需要连接到 WSL 环境。

可以换编辑器,不代表要放弃 SwiftUI 或原生 iOS 开发。xtool 改变的是工具链的组织方式,而不是把应用变成网页套壳。
三、从项目到手机,核心流程很短
完成安装、SDK 准备和账号设置后,官方入门示例的核心命令只有三行:
xtool new Hellocd Helloxtool dev第一行创建项目,第二行进入目录,第三行开始构建和真机安装。
在这个流程中,xtool 会检测 USB 连接的 iOS 设备,连接 Apple 开发者服务,处理设备注册、证书、应用标识和配置描述文件,再完成签名与安装。
这里的“签名”,可以简单理解成让设备确认:这个应用由哪个开发者提供,允许在哪些设备上运行。它是 iOS 安装链路的一部分,不是把编译结果复制到手机就能跳过的步骤。
首次连接时,你仍可能需要在手机上点击“信任此电脑”、开启开发者模式,并在系统设置里信任对应开发者。安装完成后,按照教程在手机上点开应用即可。
官方教程还演示了把 Hello World 文字改成粗体紫色,再重新构建、安装。看起来是个很小的变化,却走完了真实的修改反馈循环。

首次构建可能需要准备 SDK 的 Swift 模块,所以会比较慢;后续构建可以利用缓存。上面三行是环境准备完成后的开发流程,不是下载工具、准备 SDK 和配置账号的全部步骤。
四、不用 Xcode 界面,不等于不用 Apple SDK
这是试用前最值得弄清楚的一点。
Linux 和 Windows/WSL:需要 Swift 工具链、设备通信组件,以及从 Apple 开发者下载页面取得的 Xcode .xip 文件。执行 xtool setup 时,xtool 会从这个文件中解包并准备所需的 SDK。
SDK 可以理解成编译 iOS 应用所需的接口和工具集合。你不用在 Linux 上运行 Xcode 界面,但依然离不开 Apple 提供的这部分材料。下载时也需要 Apple ID 和相关许可协议。
macOS:官方安装指南仍要求安装并初始化 Xcode,让 iOS SDK 和 Swift 工具链可用。然后可以通过 Homebrew 安装 xtool:
brew install xtool-org/tap/xtoolxtool setup账号方面,xtool 支持 Apple ID 密码登录,也支持付费开发者账号使用 API Key。官方推荐符合条件的付费账号使用 API Key。
免费 Apple ID 可以用于个人真机测试,但 Apple Personal Team 的限制依然存在:用于设备安装的配置描述文件有效期为 7 天,每台设备最多安装 3 个应用,还有应用标识、设备数量以及部分权限的限制。到期后需要重新构建、签名和安装。
所以它不是“无限期免费安装”的捷径,也不能让所有受限制的应用权限自动可用。
五、哪些人值得试,哪些场景别急着换
如果你属于下面几类开发者,xtool 很值得关注:
- 主力电脑是 Linux 或 Windows,想尝试 Swift 和 iOS 真机开发。
- 喜欢 SwiftPM、终端与轻量编辑器,希望减少对 Xcode 界面的依赖。
- 想做个人小工具或 SwiftUI 实验,并愿意处理 SDK、账号和设备配置。
- 正在开发设备管理或开发者服务相关工具,希望复用 XKit。
但如果你的工作强依赖 Xcode 的完整调试体验、复杂工程配置或 Apple 特定能力,不能只凭“替代品”三个字就直接迁移。
模拟器也要分平台看:macOS 侧有依赖 Apple 工具的模拟器安装支持,这不等于 Linux、Windows 能直接运行 Apple 的 iOS 模拟器。对这些平台上的入门用户,官方教程给出的路线是连接真机。
编辑器的补全、悬浮文档和错误提示,同样不等于完整的运行时断点调试。这些区别,决定了 xtool 更适合从一个小项目开始,而不是一上来就接管所有生产工作。
六、它最有意思的,是让开发有了另一种入口
xtool 没有消除 Apple 生态的所有门槛,却把原本捆在一起的事情拆开了:编辑器可以选,项目可以用 SwiftPM 管理,构建和安装可以通过命令行完成。
它真正打开的,是“在熟悉的环境里做 iOS 开发”的可能性。
对想写第一个 iPhone 小工具的人来说,这比“全面取代 Xcode”的口号更实在。先准备好 SDK 和账号,把 Hello World 装进手机,再决定这条路线是不是适合自己。
项目采用 MIT 许可证。感兴趣的话,可以从官方安装指南和第一个应用教程开始。
项目地址:https://github.com/xtool-org/xtool
官方网站:https://xtool.sh
Linux/Windows 安装:https://xtool.sh/documentation/xtool/installation-linux/
macOS 安装:https://xtool.sh/documentation/xtool/installation-macos/
第一个应用教程:https://xtool.sh/tutorials/xtool/first-app/















































































