使用Fastlane创建App Store Connect新版本时,如何自动选中构建版本
问题描述
我使用Fastlane将.ipa文件上传至Testflight后,在将版本推广至Production轨道时遇到问题。执行以下命令创建Production新版本:
fastlane deliver --force --precheck_include_in_app_purchases false --api_key_path /Users/runner/work/_temp/api_key***.json -a my.bundle.id --skip_binary_upload true -j ios --skip_metadata true --skip_screenshots true --automatic_release false --ipa /Users/runner/work/r1/a/_iOS-App-PROD/drop/bundle.ipa --verbose
命令可正常创建版本,但对应的构建版本未被自动选中,需要手动到App Store Connect中选择构建。
解决方案
原因分析
当前命令中--skip_binary_upload true会跳过ipa上传操作,同时指定的--ipa参数会被忽略。而deliver在创建Production版本时,若未明确指定要关联的构建,就不会自动绑定已上传到Testflight的构建。
修复步骤
- 确保目标构建已成功上传至Testflight且状态为「可用于发布」(可通过
fastlane pilot upload命令完成ipa上传) - 修改deliver命令,添加以下参数之一来关联构建:
- 使用
--use_latest_build自动关联App Store Connect中该应用的最新可用构建 - 使用
--build_number "XXX"指定具体的构建版本号(替换为你的实际build number)
- 使用
修改后的命令示例(自动关联最新构建):
fastlane deliver --force --precheck_include_in_app_purchases false --api_key_path /Users/runner/work/_temp/api_key***.json -a my.bundle.id --skip_binary_upload true -j ios --skip_metadata true --skip_screenshots true --automatic_release false --use_latest_build --verbose
修改后的命令示例(指定具体构建版本):
fastlane deliver --force --precheck_include_in_app_purchases false --api_key_path /Users/runner/work/_temp/api_key***.json -a my.bundle.id --skip_binary_upload true -j ios --skip_metadata true --skip_screenshots true --automatic_release false --build_number "123" --verbose
注意:如果已经通过其他方式完成ipa上传,无需保留
--ipa参数,因为--skip_binary_upload true会使其失效。
内容的提问来源于stack exchange,提问作者Joao Goncalves
相关产品推荐
相关产品推荐

