使用Fastlane deliver时,如何更新iTunes Connect指定位置的截图?
解决Fastlane Deliver替换指定截图的问题
这个问题我之前帮不少开发者踩过坑——Fastlane Deliver默认是按截图文件的排序顺序(不管你文件名叫啥,按文件夹里的排序或文件名拼音顺序)依次覆盖iTunes Connect上的截图位置,根本不会自动识别你想替换第3、4张,所以得手动指定映射关系才行,给你俩靠谱的解决方法:
方法一:用deliver的screenshots参数精准映射(推荐)
直接在Fastfile里给每个截图位置指定对应的文件,想替换哪张就指定哪张,其余位置用nil占位保留原有截图。比如:
修改你Fastfile里的deliver调用代码:
deliver( screenshots: { "iPhone 6.5-inch" => [ # 这里替换成你对应的设备类型,别瞎填! nil, # 第1张:留着iTunes Connect上的旧图,不替换 nil, # 第2张:同上,保留原有 "./fastlane/screenshots/screen3.png", # 第3张:用你的新图替换 "./fastlane/screenshots/screen4.png", # 第4张:用你的新图替换 nil # 第5张:继续留旧图 ] }, # 其他你原本的参数,比如app_version、submit_for_review之类的 )
- 划重点:设备类型必须和iTunes Connect上的完全一致!拿不准的话,先运行
deliver download_screenshots下载现有截图,看下载后的文件夹名称就是正确的设备类型。 - 用
nil占位的位置,Deliver会自动保留iTunes Connect上已有的截图,不会乱替换。
方法二:调整文件名让Deliver按顺序匹配
要是你不想写Ruby代码,也可以迂回一下:
- 先跑
deliver download_screenshots把iTunes Connect上现有的5张截图都下载下来 - 把下载好的第1、2、5张截图放到你的Fastlane截图文件夹里,命名成
screen1.png、screen2.png、screen5.png - 把你的新截图改名叫
screen3.png、screen4.png也放进去 - 现在文件夹里的截图顺序就是1-5,Deliver会按顺序依次替换,刚好第3、4张是你的新图,其他位置保留原来的内容
额外小提示
- 上传前先跑
fastlane deliver --preview预览一下,确认截图位置对不对,避免手滑替换错了 - 要是你的app支持多种设备(比如iPhone+iPad),每个设备类型都得单独配置映射哦
内容的提问来源于stack exchange,提问作者user3519594
相关产品推荐
相关产品推荐

