Fastlane使用App Center插件:Testflight分组分发时无法找到分组
问题
我已在Microsoft App Center中为iOS应用关联Testflight。在App Center的「Distribution→Stores」页面中,可看到我创建的所有Testflight分组,包括“QA”和“Beta”分组。我运行以下参数的appcenter_upload命令:
appcenter_upload( api_token: ENV['APP_CENTER_IOS_API_TOKEN'], owner_name: ENV[APP_CENTER_OWNER_NAME], owner_type: "organization", app_name: ENV[APP_CENTER_APP_NAME], destination_type: "store", destinations: "QA", # <-- Testflight分组名称 file: 'blah.ipa', notify_testers: false, release_notes: release_notes_contents, )
执行后出现如下错误:
ERROR [2023-01-23 11:22:41.20]: Not found, invalid distribution store name ERROR [2023-01-23 11:22:41.20]: store 'QA' was not found
根据destinations参数的文档说明:
以逗号分隔的目标名称列表,若目标类型为'group',可使用'*'表示所有分发分组。支持分发分组和商店,所有名称必须属于同一目标类型(默认:Collaborators)
我将destination_type设为“group”并传入App Center分组名称时,操作可正常执行。但改为“store”并传入Testflight分组名称时就出现上述错误,请问这是什么原因?
原因分析与解决方法
核心问题是App Center中显示的Testflight分组不属于store类型目标:
- 当
destination_type设为store时,destinations参数需要传入的是你在App Center中创建的Testflight商店实例名称,而非Testflight后台的测试分组名称。「Distribution→Stores」页面里的“QA”“Beta”是Apple Testflight系统内的层级分组,并非App Center定义的“store”实体。 - App Center的
store类型目标对应的是整个关联的Testflight商店,appcenter_upload在store模式下无法直接指定Testflight的分组,只能先把IPA上传到关联的Testflight商店,再到Apple Testflight后台分配分组。
如果要通过App Center直接指定测试分组,需使用destination_type: "group",但这里的分组必须是App Center自身的协作分组,而非Testflight的分组。Testflight分组的管理只能在上传完成后到Apple Testflight控制台操作。
内容的提问来源于stack exchange,提问作者aaronfg
相关产品推荐
相关产品推荐

