发布与上架
用 Distribution 证书构建 Release 直接得到 .ipa,用 Appuploader 或 Transporter 传到 App Store Connect,走 TestFlight 和提审;Ad Hoc / 企业分发同一条路。
出包由 KXBuild 完成,用 Distribution 证书构建 Release 直接得到 .ipa。上传和提审用 Appuploader(Windows)或 Transporter(Mac)把 ipa 传到 App Store Connect,之后在网页上完成 TestFlight 和审核。
证书目录中需要已有 Apple Distribution 证书和 App Store 类型的描述文件,见证书与签名。
步骤
修改版本号
App Store Connect 要求每次上传的构建号 CFBundleVersion 比上一次大,版本号 CFBundleShortVersionString 是商店中显示的版本。在工程设置编辑器的 General 页修改,或直接修改 Info.plist。
构建 Release
VS Code 中在 KXBuild 视图的「构建配置」节点切到 Release,运行「KXBuild: 构建」。命令行执行
> kxbuild build .\MyApp.xcodeproj -c Release工程的 Release 配置没有指定 Apple Distribution 证书时,加 -D CODE_SIGN_IDENTITY="Apple Distribution" 临时覆盖。构建完成后工程目录下生成 build\MyApp.ipa,结构和 Xcode 导出的一样。旁边的 build\MyApp.AppStoreInfo.plist 供命令行版 Transporter 的 -assetDescription 使用,图形界面和 Appuploader 直接选 ipa 即可。
上传
Windows 上打开 Appuploader,用开发者账号登录,在上传页选中 ipa 等待完成。有 Mac 的用 Transporter 拖入即可。App Store Connect 中的 App 记录要先创建好,Bundle ID 和包中的一致。
TestFlight 与提审
上传后 Apple 需要处理几分钟到几十分钟,之后这个构建出现在 App Store Connect 的 TestFlight 页,可以先发给内部测试员验证。确认无误后在「App Store」页选择这个构建,填写信息提交审核。
不上架,直接分发
流程相同,描述文件换成 Ad Hoc 或企业账号的 In-House。Ad Hoc 需要包含设备 UDID。打出的 ipa 可以用数据线直接安装到描述文件中的手机上。
> kxdevice install MyApp.ipa上传前检查
- 描述文件类型是 App Store。用 Development 或 Ad Hoc 的包能传上去,但 TestFlight 装不上或审核被拒
- App 图标齐全。VS Code 中打开 .xcassets,「编译检查资源目录」会列出缺少的尺寸
- 构建号比上一次大,Bundle ID 和 App Store Connect 中的记录一致