一、缘由
苹果优化了launchImage启动页的设置流程,2020年以后统一使用LaunchScreen.storyboard故事板设置启动页及其图片。
关于Asset Catalog中的1024*1024图片等问题,也需要用本文提及的方法解决。
二、需要实现些什么
2.1、苹果的这项政策,适用于各种App开发工具。
拿RAD Studio 10.4 for delphi举例,需要发布如下图所示的故事板所需的launchImage图片,它们分别是运行iPhone的手机屏幕的原始逻辑分辨率的像素尺寸图片、该图片的@2x两倍像素尺寸图片、该图片的@3x两倍像素尺寸图片(any appearance正常环境光线),以及在环境光线较暗(比如夜间)的环境下对应的图片(dark appearance):
2.2、并使上述发布的图片,能够被mac的Xcode可以识别。
三、启动页故事板LaunchScreen.storyboard图片加载及显示的实现步骤
3.1、在mac或你的虚拟机“访达”中,打开你的App ID系统管理员对应的Identifiers路径
比如我的是: /Users/laichao/PAServer/scratch-dir/Administrator-appjxciosdev/ ,把它拷贝到你的开发机器上,打开后,路径结构如下:
3.2、打开LaunchScreen.storyboard故事板xml格式文件,修改其中故事板图片、故事板背景颜色“资源参数”:
有人问:你怎么知道是这个路径的?!其实你在编译的时候,跟踪一下编译过程信息,就会显示路径:
Compiling Storyboard:PulledupKehuTong.launchscreen/L aunchScreen.storyboard 和
Compiling Asset Catalog:PulledupKehuTong.launchscreen/Assets
所以根据这个路径把它从mac或你的虚拟机“访达”中拷贝出来,做上述“资源参数”修改。
3.3、发布这个文件和上述图片,重新编译
即可完成:启动页故事板LaunchScreen.storyboard图片加载及显示。
四、关于App审核上架所需的其它图片“资源集”文件的加载
举例:App Store所要求的App Icon Sizes图片,比如1024*1024图片资源文件:https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/app-icon
4.1、在“资源集”Assets路径下创建xcassets及其子路径AppIcon,按照上述图片尺寸规范将设计好的图片放入其中
4.2、将上述Asset Catalog文件目录下的所有资源打包为单个的Asset.car文件,并发布
打包的文件路径及其格式参考(通过命令xcrun --sdk iphoneos assetutil --info Assets.car解包后获取的格式):
[
{
"AssetStorageVersion" : "IBCocoaTouchImageCatalogTool-9.4.1",
"Authoring Tool" : "@(#)PROGRAM:CoreThemeDefinition PROJECT:CoreThemeDefinition-339.7\n",
"CoreUIVersion" : 493,
"DumpToolVersion" : 493.39999999999998,
"Key Format" : [
"kCRThemeScaleName",
"kCRThemeIdiomName",
"kCRThemeSubtypeName",
"kCRThemeDeploymentTargetName",
"kCRThemeGraphicsClassName",
"kCRThemeMemoryClassName",
"kCRThemeDisplayGamutName",
"kCRThemeDirectionName",
"kCRThemeSizeClassHorizontalName",
"kCRThemeSizeClassVerticalName",
"kCRThemeIdentifierName",
"kCRThemeElementName",
"kCRThemePartName",
"kCRThemeStateName",
"kCRThemeValueName",
"kCRThemeDimension1Name",
"kCRThemeDimension2Name"
],
"MainVersion" : "@(#)PROGRAM:CoreUI PROJECT:CoreUI-493.4\n",
"Platform" : "ios",
"PlatformVersion" : "10.0",
"SchemaVersion" : 2,
"StorageVersion" : 14,
"ThinningParameters" : "optimized "
},
{
"AssetType" : "Data",
"Compression" : "uncompressed",
"Data Length" : 27,
"Idiom" : "universal",
"Name" : "sample-data",
"Scale" : 1,
"SizeOnDisk" : 251,
"UTI" : "UTI-Unknown"
},
{
"AssetType" : "MultiSized Image",
"Idiom" : "phone",
"Name" : "AppIcon",
"Scale" : 1,
"Sizes" : [
"20x20 index:0 idiom:phone",
"29x29 index:1 idiom:phone",
"40x40 index:2 idiom:phone",
"57x57 index:4 idiom:phone",
"60x60 index:5 idiom:phone"
]
},
{
"AssetType" : "Image",
"BitsPerComponent" : 8,
"ColorModel" : "RGB",
"Encoding" : "JPEG",
"Idiom" : "universal",
"Image Type" : "kCoreThemeOnePartScale",
"Name" : "Bonsai",
"Opaque" : true,
"PixelHeight" : 1024,
"PixelWidth" : 1024,
"RenditionName" : "Bonsai.jpg",
"Scale" : 3,
"SizeOnDisk" : 330548
}
]
参考了网友分享,谢谢:
https://www.jianshu.com/p/622bb32e0b23
https://stackoverflow.com/questions/22630418/analysing-assets-car-file-in-ios/44597439#44597439
https://www.jianshu.com/p/35831f573109
https://www.jianshu.com/p/d2b0f20e2e96
注:
如果用RAD Studio 10.4 for delphi的DeployMent工具发布它们,编译时会自动读取xcode内置资源Assets.xcassets下AppIcon文件夹所有图片资源并将其自动打包为Assets.car文件,但应当注意:
4.2.1、发布路径:应当为项目根,否则不能识别路径及其图片:
以上,究竟有哪些像素尺寸的图片需要设计与发布,请详看App预览截屏规范涉及的各种屏幕下图片的像素尺寸。有使用“高勇” 先生(QQ:120180714)ListView控件的朋友,可直接参考其说明。
4.2.2、故事板图片:仍旧按照Apple新规范中指定的路径发布,详见《iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架》https://blog.csdn.net/pulledup/article/details/107088685:
这样,你边顺利的完成了: 修改mac中App Identifiers的LaunchScreen.storyboard及Asset Catalog配置用于iOS启动页及其它图片。效果如下:
五、iOS上架其它审核限制:
《iOS开发应用上架必读最新苹果审核规则(史上最全版)》https://blog.csdn.net/zc639143029/article/details/51234645
******************************本博客关联文章******************************:
1、《iPhone App创建与审核步骤一:如何在developer.apple.com网站中设置你的IOS开发所需的Certificates, Identifiers & Profiles》: https://blog.csdn.net/pulledup/article/details/106985701
2、《iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架》:https://blog.csdn.net/pulledup/article/details/107088685
3、《手机路径、Windows路径知识及delphiXE跨设备APP自动下载和升级》: https://blog.csdn.net/pulledup/article/details/96837667
4、《Delphi版本信息Version Info(Android个性化AndroidManifest.template.xml包模板文件;IOS或OSX修改info.plist.template.xml》: https://blog.csdn.net/pulledup/article/details/105220094
5、《delphiXE IOS编程零碎1-沙盒(沙箱)》: https://blog.csdn.net/pulledup/article/details/99730518
喜欢的话,就在下面点个赞、收藏就好了,方便看下次的分享:
————————————————————————————