无需打开 Xcode 即可构建和发布 Mac 与 iOS 应用

开发者正越来越多地通过命令行自动化 macOS 和 iOS 的构建、签名与发布工作,且常由 AI 编码代理来编排,因此他们几乎不再或完全不再接触 Xcode 的 GUI。评论者将定制脚本和较新的工具(fastlane、Expo、Axiom、strudel、Sweetpad 等)与 Apple 传统工具链进行比较,在减少依赖和提升灵活性与成熟社区方案的优势之间权衡。伴随着对这种“vibe coding”风格的热情,许多人也对安全性、云端 LLM 对敏感凭证的依赖,以及 Apple 的硬件与平台锁定表示担忧。

LLM 驱动的 Mac/iOS 开发工作流

  • 许多评论者表示,他们正在使用 AI 编码代理(通常通过 CLI)来构建、签名、公证并发布 Mac/iOS 应用,几乎不需要或完全不需要手动使用 Xcode。
  • 有些人说自己现在主要充当 AI 的“手”,包括处理 CI 流水线和多平台构建。
  • 也有人指出,在现有脚本或技能的引导下,AI 处理 Apple 复杂的工具链时表现出人意料地好。

Xcode vs. 命令行 / 现有自动化

  • 有几位提到,基于 CLI 的构建(xcodebuild、notarytool 等)多年来一直是 CI 的标准做法;新变化在于把这些配置工作交给了 LLM。
  • 对于“永远不打开 Xcode”这一点,意见并不一致:
    • 有人声称自己只在证书/配置文件或模拟器方面需要打开过一次。
    • 也有人坚持认为某些步骤(证书、某些配置文件、部分调试)仍然需要 GUI。
  • 关于 Xcode 的质量也存在争议:有人觉得它臃肿且容易崩溃;也有人认为它是一款扎实的 IDE,尤其是在新版本中,AI 工具(MCP、模拟器控制)更好了。

替代工具与生态

  • 许多人建议使用成熟工具,例如 fastlane、Expo(React Native)、Flutter、Tuist、XcodeGen、Sweetpad、Strudel、Axiom 等,它们已经在无需定制脚本的情况下解决了其中很多问题。
  • 有些人担心 LLM 会鼓励一次性流水线,而不是改进共享工具;另一些人则认为,LLM 生成的定制脚本能减少依赖开销。

安全与隐私担忧

  • 对于让 LLM 访问源代码、证书和 SSH 密钥,人们有很强的担忧,尤其考虑到过去的泄露和代理错误。
  • 讨论中的缓解措施包括:分离用户账户、VM/容器、沙箱 harness、严格的文件系统权限、安全飞地密钥存储,以及通过 TouchID 或人工审批来门控 SSH 操作。

平台锁定与访问

  • 许多人批评 Apple 要求使用 Mac 和付费账户才能进行现实中的 iOS 开发,认为这是一种租金攫取,也是低预算开发者的障碍。
  • 也有人回应称,平台所有者通常会把工具链与自家硬件/操作系统绑定,而且现在低端 Mac 的价格相对也变得可承受。

调试、测试与应用质量

  • 对于完全无头的工作流来说,调试仍然是薄弱环节;只有物理设备上才会出现的 bug 往往仍然需要 Xcode/LLDB。
  • 有些人担心,让通过 AI 发布应用变得过于容易,会让 App Store 中充斥低质量的“垃圾”;另一些人则反驳说,刻意避开 Xcode 并不意味着应用质量低劣。