Unity Cloud Build 自动化打包 IPA 并上传 App Store Connect 踩坑实录

Unity Cloud Build 自动化打包 IPA 并上传 App Store Connect 踩坑实录

最近给 Unity 项目搭建 iOS 自动化发布流程,最初计划使用 GitHub Actions 完成 Unity 构建、IPA 打包以及 App Store Connect 上传。但实际落地过程中发现,Unity Personal License 难以适配标准 CI 激活流程,而 Fastlane 在 Linux 环境上传 IPA 时又遇到了 AppStoreInfo.plist 缺失等问题。经过一系列踩坑与方案验证,最终放弃 GitHub Actions 与 Fastlane 上传方案,改用 Unity Cloud Build(UCB)负责构建,并通过 UCB Post-build Script 调用苹果官方上传工具完成 TestFlight 交付。同时利用 UCB 的 Pre-Export 和 Post-Export 回调自动解决 CFBundleVersion 递增以及 Export Compliance(出口合规声明)问题,实现了一套无需长期 Mac 环境、适用于 Unity Personal 用户的自动化发布流程。

本文记录整个过程中的几个关键坑点及最终解决方案,希望能帮助后来者少走一些弯路。

软件工程里最被低估的成本:Navigation Cost

软件工程里最被低估的成本:Navigation Cost

当我们讨论软件复杂度时,通常会想到架构设计、代码质量和业务逻辑,但一个长期被忽视的成本正在变得越来越昂贵——寻找代码。无论是新人接手项目,还是 AI Agent 执行开发任务,都需要先回答同一个问题:代码从哪里开始运行?本文提出“导航成本(Navigation Cost)”的概念,分析其产生原因以及在 AI 时代被进一步放大的现象,并结合 codegraph 等工具的发展,探讨将系统运行时入口沉淀为项目资产的可能性。相比于解释系统如何设计,或许未来的项目更需要一份能够回答“入口在哪”的系统导航地图。