情景复现
在App Store Connect中上传应用时,要求必须上传5.5英寸iPhone显示屏的截屏。
根据Apple的截屏规范可以了解到,5.5英寸的机型为:iPhone 8 Plus、iPhone 7 Plus和iPhone 6s Plus。
但是最新的Xcode 15中,没有上述的3个5.5英寸机型。因此,需要考虑安装新的模拟器或者通过真机进行截屏。但考虑到本次应用因为适配了40余种语言,使用真机安装没有模拟器方便,因此解决通过安装上述5.5英寸机型的模拟器来解决该问题。
环境配置
- Mac Sonoma 14.5
- Xcode Version 15.4 (15F31d)
Xcode模拟器安装过程
1、点击Xcode顶部的运行设备,选择“Manage Run Destinations…”。
2、在弹出的设备列表页中,点击左下角的添加功能
3、在Device Type中选择iPhone 8 Plus设备,这时 OS Version提示No Runtimes,没有对应的运行系统。
4、这时,我们点击OS Version,选择“Download more simulator runtimes”
5、在弹出的平台页面中,点击左下角的添加按钮,选择”iOS…”
6、在这里,我选择的是iOS 15.2 Simulator,我的Xcode中15.0是最低的版本了,但是下载的多次都无法完成,因此选择了倒数第二低的版本。
7、下载完成之后,我们重新回到第2步,在弹出的设备列表页中,选择iPhone 8 Plus,这时的OS Version为刚下载的 iOS 15.2,点击”创建”按钮。
8、我们可以在设备列表中查看到安装的iPhone 8 Plus模拟器。
安装虽然完成了,但是在应用运行时,无法选取iPhone 8 Plus,哪怕是重启Xcode、在设备列表中勾选“Always”,也无济于事。
从网上的评论中了解到应用的最低要求为iOS 17,而iPhone 8 Plus甚至不支持iOS16,这样的话,iPhone无法选择iPhone 8 Plus也算情有可原了。
关于应用的最低标准,我们可以通过Xcode项目中的左侧项目名称 -> TARGETS -> Minimum Deployments查看最新的iOS版本要求。
因此,这也意味着,我们无法去通过Xcode运行模拟器进行关于5.5英寸iPhone显示屏的截屏了。
其他解决方案
然后通过另一个评论了解到,可以使用iPhone SE 3 截屏,然后通过Figma模版调整大小,以符合iPhone的适配。
也有评论建议使用iPhone SE 截屏后,通过ImageMagic进行转换。
我经过对比发现Figma没有ImageMagic方便,因此决定使用第二种方案。
ImageMagic解决流程
1、首先,在Xcode中选择iPhone SE模拟器。
2、我们在应用运行过程中,使用模拟器的截屏功能进行截屏。
这里,我截取的是应用内的五张照片。
3、在终端中,切换到截屏图片所在目录中,运行convert命令进行转换。
Convert命令:
convert *.png -resize 1242x2209 -crop 1242x2208+0+0 %d-5.5.png
完整代码:
% cd .../1、简体中文-5.5英寸显示
% ls
Simulator Screenshot - iPhone SE (3rd generation) - 2024-05-27 at 18.06.23.png
Simulator Screenshot - iPhone SE (3rd generation) - 2024-05-27 at 18.06.25.png
Simulator Screenshot - iPhone SE (3rd generation) - 2024-05-27 at 18.06.28.png
Simulator Screenshot - iPhone SE (3rd generation) - 2024-05-27 at 18.06.34.png
Simulator Screenshot - iPhone SE (3rd generation) - 2024-05-27 at 18.06.37.png
% convert *.png -resize 1242x2209 -crop 1242x2208+0+0 %d-5.5.png
在截屏所在的文件夹下使用该命令后,可以查看到转换后的5张截屏图片。
4、完成效果图:
图片完成上传,感谢这位网友分享的解决方案。
参考资料
1、iPhone App Submission requires 5.5 inch display screenshots, but Xcode does not offer any simulators for these devices:https://stackoverflow.com/questions/76548634/iphone-app-submission-requires-5-5-inch-display-screenshots-but-xcode-does-not
2、Where to get 5.5 inch iPhone screenshots for submission:https://forums.developer.apple.com/forums/thread/719822
3、Screenshot specifications:https://developer.apple.com/cn/help/app-store-connect/reference/screenshot-specifications/