闲扯一会儿LaunchSceen.storyboard
LaunchImage实打实被淘汰了,早就有,从2020年4月开始,所有使⽤ iOS13 SDK的 App将必须提供 LaunchScreen使用。
值得注意的是:苹果曾要求所有应用切换到iOS 13 SDK进行开发,而开发者们必须要在 2020 年 4 月满足以下要求,其中包含了支持暗黑模式及其三方登录应用强制支持苹果登录,因为世纪疫情,现在最后期限延迟到了6 月 30 日,以适应可能需要更多时间去开发适配的App,但是却强调了从 2020 年 4 月开始,提交到App Store的应用必须使用Xcode storyboards来提供应用的启动屏幕。
所以,兄弟,LaunchImage没的了,赶紧改LaunchSceen.storyboard吧!
方案一:豪横放图,爱杂杂地
使用听起来贼简单,图片放上LaunchScreen.storyboard就完事了,但是,你做梦吧。
简单来说就是加个图,autolayout 设置边距都为0,Content Mode 设为为 Aspect Fil。
前几天刚发布了一个4.7的iPhone SE二代手机,听说3299起,配置咳咳,扯远了,就目前苹果设备尺寸越来越复杂的情况,“图片放上LaunchScreen.storyboard就完事了”虽然显得豪横,But,开发的脸面都不要了,你一定会被老板拉去祭天。
方案二:拼图
说白了就是做个UI,使用 autolayout 正常布局适配,目前主流,特别是那种启动页简单的,这种方式最为灵活,强烈推荐,苹果公司希望的大概率是这样的。
方案三:多图片适配
有些取巧,但是很机智,本质上和LaunchImage没区别,有人已经实践过,应用已经通过三四个,苹果拿你没的办法,想想还有点小激动。
整体流程我自己走了一下,简单配图描述下。
找图,我连640*960都给补上了
3.5寸的iphone4(640*960)、4.0寸的iPhone5s(640*1136)、4.7寸的iPhone8(750*1334)、5.5寸的iPhone8P(1242*2208)、5.8寸的iPhoneX(1125*2436)、6.1寸的iPhone XR(828*1792)、6.5寸的iPhone Xs Max(1242*2688)
Xcode创建图片
打开图片文件夹,图片拖进去
Xcode会自动同步,但是会出现不识别的警告。
然后用编辑器打开Contents.json文件
images数组内容全改,注意名称对应,改后内容(info内容可以不变):
{ "images" : [ { "idiom" : "iphone", "scale" : "1x" }, { "idiom" : "iphone", "filename" : "iphone4.png", "scale" : "2x" }, { "idiom" : "iphone", "scale" : "3x" }, { "idiom" : "iphone", "subtype" : "retina4", "scale" : "1x" }, { "idiom" : "iphone", "filename" : "iPhone5s.png", "subtype" : "retina4", "scale" : "2x" }, { "idiom" : "iphone", "subtype" : "retina4", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone8P.png", "subtype" : "736h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone8.png", "subtype" : "667h", "scale" : "2x" }, { "idiom" : "iphone", "filename" : "iPhoneX.png", "subtype" : "2436h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone Xs Max.png", "subtype" : "2688h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone XR.png", "subtype" : "1792h", "scale" : "2x" } ], "info" : { "version" : 1, "author" : "xcode" }}
LaunchScreen.storyboard添个图
看效果:
和原文有一些小区别,自己搞清楚,下载回去自己测试一下,原文评论中说的iOS11显示有问题的没发现。
另外关于启动页不更换或者替换显示有问题,说白了就是有缓存呗,系统缓存,删应用都不能保证清除,那直接方法删文件最靠谱,查到一个方法清除APP的启动屏幕缓存 只是一种解决方案,
当然,我自己上面附的demo里面也有我自己写的。
替换LaunchSceen黑屏问题还可以参考这个细致解决
别跑,留个赞!
收工,回家抱媳妇!