一、三种iOS打包分发类型完整区分(结合你Xcode Cloud场景)
1. Development 开发包(真机调试包)
用途
本地插iPhone真机、Xcode直接Run安装调试用,绝对不能用来上传TestFlight/上架App Store。
限制
- 必须把测试设备UDID提前添加到开发者后台描述文件;
- 一台账号最多绑定100台测试iPhone;
- 有效期1年;
- 只能Xcode本地安装,无法通过链接OTA安装。
你的场景作用
Xcode Cloud导出这个包基本没用,忽略即可。
2. Ad Hoc 企业内测包(你报错70的元凶)
用途
小范围批量内测,不用每个人加UDID,给非开发者人员装包。
限制
- 单版本最多安装 100台设备;
- 包有效期90天;
- 需要用户手动在「设置-通用-VPN与设备管理」信任证书;
- Xcode Cloud苹果自动托管签名,导出Ad Hoc极易权限不匹配,直接报 exit code 70 错误(就是你刚才的报错)。
你的场景结论:完全不需要,直接关闭导出即可。
3. App Store Connect 正式包(你唯一要用的)
用途
✅ 上传TestFlight 全员内测
✅ 后续直接提交App Store官方审核上架
特点
- 无设备数量限制,无数人安装;
- 长期有效,无过期时间;
- 苹果官方签名,云端Xcode26编译完全合规;
- TestFlight安装无需手动信任证书,一键安装。
二、极简对照表
| 类型 | 核心使用场景 | 是否用于TestFlight/上架 | Xcode Cloud是否推荐导出 |
|---|---|---|---|
| Development | Xcode本地真机调试 | ❌ 不可以 | 不勾选 |
| Ad Hoc | 小批量OTA内测 | ❌ 不可以 | 取消勾选(避免70报错) |
| App Store Connect | TestFlight内测 + App Store上架 | ✅ 唯一正确 | 只选这个 |
三、回到你当前Workflow最终正确配置
- Distribution Preparation:App Store Connect
- 构建完成只会导出正式上架包,不再执行Ad Hoc导出
- 彻底消除
command exited with non-zero exit-code:70警告 - 自动推送到App Store Connect → TestFlight后台,直接发测试链接给别人安装