适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

时间:2024-05-18 12:53:35
适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

启动图片

测试环境:

  • Xcdoe 9
  • iOS11

这篇文章,主要是解决公司发布多个马甲app,启动图片和图片放到了项目普通文件夹下的情况,文章可以参考我之前写的。 如果公司只是固定的产品,那直接放到Images.xcassets 下或者使用LanunchScreen.xib是最好的选择!

首先,iOS项目添加启动图片有三种方式:

(1) 放到工程 Images.xcassets 文件夹下的中的【LaunchImage】图片集合中。

(2) 放到工程下的普通文件夹中。

(3) 在LanunchScreen.xib中设置启动图片

下边,我就iOS项目这三种方式,以适配iPhone X为例子进行说明。

iPhone X的启动图片格式

iPhone X的启动图片就一张,格式是1125px × 2436px (375pt × 812pt @3x)。

这里@3x说明iPhone X的其他图标都是 @3x图,和启动图片没什么关系。你让美工或者自己弄一张,大小是1125 × 2436的图片就可以了!

至于图片的命名,查阅了官方文档,没有发现命名方法,如果有知道的朋友,请千万告诉我一下!万分感谢! 暂且,我依照苹果命令规范,将iPhone X的启动图片命名为[email protected]

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

格式

【LaunchImage】图片集合

如果没有创建【LaunchImage】图片集合的话,可以通过

  • step A: Target-> General
  • step B: App Icons and Launch Images
  • step C: 在【Launch Images Source】选项下点击点击 Use Asset Catalog 来设置 【LaunchImage】图片集合。

注意一:刚创建【LaunchImage】集合,可能选项的位置并没有如下图显示的这样。这个时候重启下项目就好了,算是Xcode的一个bug吧。

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

LaunchImage

然后把启动图片添加到工程 Images.xcassets 文件夹下的中的【LaunchImage】中。

注意二:如果你只是添加单张图片进去,不识别。那直接把之前已经放的图片删除掉,加上iPhone X的启动图片重新拖动一下就好。

最后结果如下图:

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

启动图片集合

网上很多说法是,把iPhone X的启动图片拖进去,还需要在在LaunchImage中的Contents.json文件中增加

{

"extent" : "full-screen",

"idiom" : "iphone",

"subtype" : "2436h",

"filename" : "图片名字.png",

"minimum-system-version" : "11.0",

"orientation" : "portrait",

"scale" : "3x"

}

这里我实验的结果是,直接拖进之后,这段json就已经生成了,不需要手动添加。

放到工程下的普通文件夹中

这种方式需要对启动图片(应用图标也是)的格式,命名,数量都有要求。并且需要在对应的Info.plist中设置一些参数。 这部分设置可以在我之前写的 《26- iOS项目基础一 - 官方应用图标和启动图片的尺寸规范和相应的工程设置》 中查看,也可以在下载官方Demo自己比对。

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

官方下载Demo

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

命名,图片数量和官方demo比对

注意:官方demo的 《Application Icons and Launch Images for iOS》

下边说添加iPhone X的启动图片,把图片拖进文件夹后,需要在info.plist文件的 UILaunchImages中添加Item,具体添加内如如下:

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

info.plist

注意:

(1) 打包ipa包上传到iTunes Connect中,会检查工程中是否添加了完整的启动图片,之前的经验,这种添加启动图片和图标的方式打包上传的话,如果图片命令有问题,直接在Application Loader校验阶段就会报错,拒绝上传请求。 但是我前边说过,没有查到官方指定的iPhone X启动图片的命名,也没有试过这种添加方式上传会不会有问题被拒绝,等到试验后告诉大家。

(2) 多target不要忘了每个info.plst都添加!

在LanunchScreen.xib中设置启动图片

因为出现的时间较近,很多老项目都没有采用,新项目没采用。所以偷懒不说了,官方原话是推荐这种方式,然后添加一张static image图片。我查阅,但是没了解该图片是什么意思,类似pdf格式的?

有兴趣的朋友可以试验下该种方式,或者有文章,在评论里留言和简信我,我添加到此位置!

适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式

官方说明





更多问题,欢迎加群讨论:qq群 :565191947