ios:区分 App Store / Ad Hoc / Development

一、三种iOS打包分发类型完整区分(结合你Xcode Cloud场景)

1. Development 开发包(真机调试包)

用途

本地插iPhone真机、Xcode直接Run安装调试用,绝对不能用来上传TestFlight/上架App Store。

限制

  1. 必须把测试设备UDID提前添加到开发者后台描述文件;
  2. 一台账号最多绑定100台测试iPhone;
  3. 有效期1年;
  4. 只能Xcode本地安装,无法通过链接OTA安装。

你的场景作用

Xcode Cloud导出这个包基本没用,忽略即可。

2. Ad Hoc 企业内测包(你报错70的元凶)

用途

小范围批量内测,不用每个人加UDID,给非开发者人员装包。

限制

  1. 单版本最多安装 100台设备;
  2. 包有效期90天;
  3. 需要用户手动在「设置-通用-VPN与设备管理」信任证书;
  4. Xcode Cloud苹果自动托管签名,导出Ad Hoc极易权限不匹配,直接报 exit code 70 错误(就是你刚才的报错)。

你的场景结论:完全不需要,直接关闭导出即可。

3. App Store Connect 正式包(你唯一要用的)

用途

✅ 上传TestFlight 全员内测

✅ 后续直接提交App Store官方审核上架

特点

  1. 无设备数量限制,无数人安装;
  2. 长期有效,无过期时间;
  3. 苹果官方签名,云端Xcode26编译完全合规;
  4. TestFlight安装无需手动信任证书,一键安装。

二、极简对照表

类型 核心使用场景 是否用于TestFlight/上架 Xcode Cloud是否推荐导出
Development Xcode本地真机调试 ❌ 不可以 不勾选
Ad Hoc 小批量OTA内测 ❌ 不可以 取消勾选(避免70报错)
App Store Connect TestFlight内测 + App Store上架 ✅ 唯一正确 只选这个

三、回到你当前Workflow最终正确配置

  1. Distribution Preparation:App Store Connect
  2. 构建完成只会导出正式上架包,不再执行Ad Hoc导出
  3. 彻底消除 command exited with non-zero exit-code:70 警告
  4. 自动推送到App Store Connect → TestFlight后台,直接发测试链接给别人安装
相关推荐
茶底世界之下1 天前
阴天海边的蓝船:用 Awaking 把灰蓝调成清亮主角
ios·app·产品
Digitally1 天前
如何将 iPhone 备份到 iCloud?
ios
传奇开心果编程2 天前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui
茶底世界之下2 天前
雨后街口的斑马线:用 Awaking 把颜色让给光与步伐
ios·app·产品
茶底世界之下3 天前
晨雾河岸的旧书摊:用 Awaking 给木色一点暖光
ios·app·产品
90后的晨仔3 天前
在 macOS 27 上运行 Xcode 26
ios
茶底世界之下4 天前
山间站台不必转暖:用 Awaking 留住冷光与红箱
ios·app·产品
songgeb5 天前
YYImage Bug:一行之差,正常 JPEG 如何在 iOS 被读成条纹
ios·swift
茶底世界之下5 天前
阴天花摊不必变暖:用 Awaking 留住花色与湿街
ios·app·产品