使用Fastlane上传Flutter iOS应用截图报错:Could not find a version to edit
解决Fastlane Deliver上传iOS截图时“找不到可编辑版本”的问题
执行Fastlane的screenshots lane上传iOS应用截图时,出现错误:
Could not find a version to edit for app 'Mistikee Lite' for 'IOS'
以下是针对性的解决步骤:
1. 确认App Store Connect上的版本状态
- 登录App Store Connect,检查应用是否存在版本
1.5.3,且该版本处于可编辑状态(如“准备提交”“等待审核”“被拒绝”,已发布的正式版本无法直接编辑)。 - 如果目标版本已发布,需创建新的可编辑版本(可以复用相同版本号重新创建,或升级版本号),确保版本处于可修改状态。
2. 调整Fastlane Deliver参数配置
- 若指定了
app_version: "1.5.3",先移除该参数,依赖Deliverfile中的use_live_version true自动匹配当前可编辑的版本;若必须指定版本号,确保该版本确实存在且可编辑。 - 尝试将
skip_app_version_update: true改为false,允许Deliver自动处理版本匹配或创建(需确保API密钥有对应权限)。
修改后的lane示例:
default_platform(:ios) platform :ios do desc "Send screenshots to App Store Connect" lane :screenshots do deliver( submit_for_review: true, skip_binary_upload: true, skip_metadata: true, skip_app_version_update: false, skip_screenshots: false, overwrite_screenshots: true, screenshots_path: "./screenshots", force: true ) end end
3. 验证API密钥权限
- 检查
app_store_connect.json中的API密钥权限,确保其拥有App Store Connect API的开发者或管理员角色,具备创建/编辑应用版本、上传截图的权限。
4. 清理缓存并重新同步元数据
- 清理Fastlane缓存:
sudo fastlane cache clear - 重新同步App Store Connect的元数据:
sudo fastlane deliver init --use_live_version true
5. 避免使用sudo执行Fastlane
- 长期用
sudo运行Fastlane会导致文件权限异常,尽量直接用当前用户执行。如果已经用sudo操作过,修复权限:sudo chown -R $USER:$USER ./ios/fastlane sudo chown -R $USER:$USER ./ios/screenshots
内容的提问来源于stack exchange,提问作者matteoh
相关产品推荐
相关产品推荐

