Flutter项目通过Firebase App Distribution发布iOS版后测试人员无法下载
问题根因
Ad Hoc 模式的 iOS 应用分发本身要求所有要安装应用的测试设备 UDID 必须提前录入苹果开发者后台,且打包时使用的描述文件(Provisioning Profile)需要包含所有对应设备的 UDID。
你最初自测正常是因为你的设备 UDID 已经提前在开发者后台的设备列表中,打包用的描述文件已包含你的设备信息;后续新测试人员的设备 UDID 未被收录到你打包时使用的描述文件中,就会触发该报错提示,你收到的 UDID 邮件就是 Firebase 同步的新测试设备标识。
解决方案
方案1 继续使用 Ad Hoc 模式
调整操作流程即可解决当前问题:
- 收到新增测试设备的 UDID 邮件后,先将所有新的 UDID 录入苹果开发者后台的「Devices」列表
- 重新生成包含所有已录入设备 UDID 的 Ad Hoc 类型描述文件
- 下载新的描述文件导入Xcode,重新 archive 导出
.ipa包并上传到 Firebase Distribution,新增测试人员即可正常下载安装
注意:每新增一台测试设备都需要执行一次上述流程重新打包上传
方案2 实现测试人员无需等待重新打包直接下载
如果要跳过设备 UDID 录入、重新打包的流程,可以改用苹果官方的 TestFlight 外部测试模式:
- 将应用打包上传到 App Store Connect 提交 TestFlight 审核
- 审核通过后直接给测试人员发送TestFlight邀请,测试人员接受邀请后即可直接安装,不需要提前登记UDID,也不需要你每次新增测试人员重新打包
注意:TestFlight 外部测试版首次提交需要经过苹果审核,审核周期通常为1~3天,后续小版本迭代审核速度会更快
内容的提问来源于stack exchange,提问作者Mateus Neves
相关产品推荐
相关产品推荐

