苹果审核新规:用LaunchScreen.storyboard设置启动页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果审核新规:用LaunchScreen.storyboard设置启动页相关的知识,希望对你有一定的参考价值。

参考技术A

背景:从2020年四月起提交至App Store的app, 必须使用Xcode的Storyboard搭建启动页 。在这条新规下,我们就不能使用原来的 Assets.xcassets ➡️ LaunchImage 来设置启动图了,必须换成 LaunchScreen.storyboard 来实现。

首先,要在项目中进行配置。
1、在General—> App Icons and Launch Images—>Launch Screen File中选择LaunchScreen

2、选中LaunchScreen.storyboard,勾选 Use as Launch Screen 的选项

3、在LaunchScreen.storyboard中添加一个UIImageView的控件

4、为新添加的UIImageView添加约束

5、设置约束
选中上下左右的约束(点击短横线),并将数值都设为0,最后点击Add按钮,如下图所示

6、修改约束
经过步骤5之后,效果如下:

从上图可以看出,默认的 Safe Area 会在iPhoneX系列的机型上,使启动图没有覆盖整个屏幕。
7、解决留白问题
在左窗口选中底部约束—>点击右侧的First item—>选择 Superview —>将 Constant 设置为 0 ,如下所示:

修改完成的效果如下:

同样的方式,修改顶部约束:

修改完后的效果:

8、查看不同机型的效果(这里以背景色代替了图片)

9、图片适配问题
不同机型,启动图的大小和宽高比不一样,如何解决呢?
由于系统类UIImageView,不能根据尺寸配置多张图片。那是否能将启动图改为自定义的类呢?
答案是: 在LaunchScreen.storyboard中不能使用自定义类

那么,如何解决启动图的适配问题呢?
场景1:启动图为全屏的图片
解决办法:选5.5寸的启动图(因为宽度最大),并将填充模式设为等比例填充,如下图所示

场景2:启动图的内容在底部
如凤凰新闻,启动图为底部的文字logo,其余的留白。此时该图片就不是全屏的。约束应该改为:宽度填充满,高度=宽度*固定比例,再设置一个底部的约束,如下图所示

10、如果遇到了真机不生效的问题
如果遇到跑到真机上效果不对的问题,记得先删除Xcode的缓存,再clean一下项目,最后卸载手机上的app,重新安装即可(本人就遇到了在iPhoneX上不生效的问题)

以上是关于苹果审核新规:用LaunchScreen.storyboard设置启动页的主要内容,如果未能解决你的问题,请参考以下文章

苹果强推IPv6,你的App符合新规吗?

继欧洲之后,工信部推出强硬新规,苹果如不遵从或被逐出中国市场

鸿蒙超出预期,谷歌开始着急,新规是在针对华为?

记录iOS APP提交审核被苹果拒的解决

苹果内购艰辛审核之路

针对苹果最新审核要求:应用兼容IPv6