如何阻止Fastlane上传生产分支构建至App Store时同步到TestFlight供测试用户访问
如何阻止Fastlane上传生产分支构建至App Store时同步到TestFlight供测试用户访问
Hey Dirk,这个问题其实挺常见的——Fastlane的upload_to_app_store默认会把提交到App Store的构建同步到TestFlight,不过我们可以通过调整参数轻松解决,给你两个适配不同场景的方案:
方案1:完全不让生产构建进入TestFlight
如果你的生产分支构建只需要走App Store审核流程,完全没必要出现在TestFlight里,那直接在upload_to_app_store调用中添加skip_testflight: true参数就可以了。这个参数会让Fastlane跳过TestFlight同步步骤,只把构建上传到App Store的审核队列。
修改后的生产分支代码如下:
upload_to_app_store( submit_for_review: true, automatic_release: true, force: true, skip_metadata: true, skip_screenshots: true, skip_testflight: true, # 新增参数,跳过TestFlight同步 submission_information:"{\"export_compliance_uses_encryption\": false, \"add_id_info_uses_idfa\": false }" )
方案2:允许构建进入TestFlight但不推送给测试用户
如果因为内部验证等需求,你需要生产构建留在TestFlight,但不想让普通测试用户看到或收到通知,可以调整以下几个参数:
distribute_external: false:禁止将构建分发给外部测试组notify_external_testers: false:不向外部测试用户发送构建通知groups: []:不把构建分配给任何测试组(包括内部组)
修改后的代码示例:
upload_to_app_store( submit_for_review: true, automatic_release: true, force: true, skip_metadata: true, skip_screenshots: true, distribute_external: false, # 关闭外部分发 notify_external_testers: false, # 不通知测试用户 groups: [], # 不分配到任何测试组 submission_information:"{\"export_compliance_uses_encryption\": false, \"add_id_info_uses_idfa\": false }" )
小提醒
用方案2的话,生产构建还是会出现在TestFlight的「构建」列表中,但只有拥有App Store Connect权限的内部团队成员能看到,普通测试用户是完全看不到这个构建的。如果你的需求只是不让测试用户访问,两种方案都可以,但方案1会更直接彻底。
备注:内容来源于stack exchange,提问作者Dirk
相关产品推荐
相关产品推荐

