夜雨聆风学习资料网

ARTICLE · 1192963

不打开 Xcode,也能写 iOS App?这个开源工具值得一试

不打开 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。

官方项目截图:在编辑器中写 SwiftUI,通过终端构建并安装应用

一、它替代的,不是一整个 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 环境。

官方教程截图:SourceKit-LSP 为编辑器提供悬浮文档提示

可以换编辑器,不代表要放弃 SwiftUI 或原生 iOS 开发。xtool 改变的是工具链的组织方式,而不是把应用变成网页套壳。

三、从项目到手机,核心流程很短

完成安装、SDK 准备和账号设置后,官方入门示例的核心命令只有三行:

BASH
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:

BASH
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/

相关学习资料