做过 iOS 上架的都知道,传统流程依赖 Mac 加 Xcode——创建证书要用钥匙串、打包要在 Xcode 里 Archive、上传要用 Transporter。但如果团队里没有 Mac,或者 Mac 资源紧张,整个发布流程就会卡住。实际上把每个环节拆开来看,不少步骤都可以用跨平台工具替代。

总体的流程

iOS 上架的完整流程分几步:注册开发者账号 → 创建 Bundle ID → 生成证书和描述文件 → 打包 IPA → 上传到 App Store Connect → 填写审核信息 → 提交审核。其中必须依赖 Mac 的环节不多,大部分可以通过 Windows 上的工具完成。

证书和描述文件

没有 Mac 的话,证书管理是最容易卡住的环节。Apple 的钥匙串工具只在 macOS 上有,但 Appuploader 在 Windows 上可以直接创建开发证书和发布证书,生成 P12 文件。填写名称和密码后自动完成申请和下载。

描述文件同样可以在 Appuploader 里创建。选择类型(Development 或 App Store)、绑定 Bundle ID、选择证书。Development 类型需要添加测试设备的 UDID,工具连上设备后自动读取,不需要手抄 40 位码。

iOS 开发还需要了解账号类型。个人账号 688 元/年,可以上架 App Store、使用推送和支付功能。公司账号和团队协作相关,企业账号适用于内部分发但不支持上架。免费账号只能做开发测试。

打包 IPA

IPA 的打包方式取决于项目类型。原生 Swift/OC 项目可以用 KXApp(内置编译器,不需要 Xcode)或者通过远程 Mac 编译。uniapp 项目直接在 HBuilder X 里点"发行 → 原生App-云打包"生成 IPA。

Flutter 项目在 Windows 上可以用 KXApp 编译到 iOS,或者在打包时加上 –obfuscate 参数做混淆保护。打包时需要选对开发证书和描述文件,Bundle ID 和 App Store Connect 里创建的应用保持一致。

上传 IPA

IPA 打包完成后,上传到 App Store 这一步可以用 Appuploader。提交上传界面选择 IPA 文件、选择上传通道、输入 Apple 账号和专用密码,点击上传。如果网络不好导致上传失败,可以切换到其他通道或者换移动热点重试。Appuploader 也提供命令行版本,适合集成到 CI/CD 流程。

上传后等几分钟,构建版本会出现在 App Store Connect 的应用页面上。如果迟迟不出现,检查版本号是否重复。上传后还需要回 App Store Connect 填写应用名称、副标题、关键字、描述、隐私政策链接等信息,指定构建版本后提交审核。

截图和元数据

上传截图可以使用 Appuploader 的批量上传截图功能。支持一次上传多个尺寸和语言版本。还可以在 App Store Connect 里直接设置价格与销售范围、内购项目等。

提审和后续

提交审核后通常几天内会有结果。如果被拒,根据拒审原因修改后重新上传 IPA 再提交。常用的拒审原因包括设备信息采集未在隐私政策中说明、IDFA 权限未配置、截图尺寸不符等。Appuploader 修改后可以直接上传新版本,不需要重新走 Mac 的完整流程。