使用LaunchScreen.storyboard后,运行时显示老的图片
来源:互联网 发布:网络言论自由的例子 编辑:程序博客网 时间:2024/04/27 21:02
1.问题描述
1.1.运行环境
Xcode版本:7.3.1
Simulator版本:8.4 & 9.3
1.2.背景
做一个项目APP时需要修改启动页,而老版本的启动页是通过launchImage在asset catalog中设置不同尺寸的启动图片。但产品化只提供了一套图片,所以改成了通过launchScreen.storyboard添加UIImageView加载图片,然后适配不同的屏幕。
1.3.问题
修改完毕之后,惊喜地发现6p,6sp上运行是对的。
但是在6s,6及以下的窄屏模拟器上有问题,显示在launchScreen上,似乎在新的界面上多了一份asset catalog中设置的老图片。
因为怀疑是工程中的老文件有冲突,所以就把asset catalog清空,但也没有效果。
2.解决方法
2.1.思路
后来尝试在launchScreen.storyboard中加载其他图片,6s中不会显示老的启动图。
尝试将启动页资源图片的名字由launchImage@2x.png launchImage@3x.png 改为 launchImage1.1@2x.png launchImage@3x.png 之后,6s模拟器上也不再显示老的启动图。
因此怀疑是工程中存在名为launchImage@2x.png 的图片,但是仔细查找后没有发现。
最后怀疑是在Xcode的缓存数据derivedData中存在老的图片,于是将Xcode中的derivedData清空,重新运行,效果正常。
2.2.结果
清空Xcode的缓存derivedData数据,重新运行即可。
3.原因
该工程的上个版本中在asset catalog中设置了5s的启动图,但未设置6p对应的启动图。
而在本次修改时,Xcode打包时因为某种原因未能用launchImage@2x.png 同步替换缓存中旧的同名文件,只新增了launchImage@3x.png 文件到缓存中。
所以在打包时就将旧的launchImage@2x.png 和 launchImage@3x.png 文件打包进了APP中,所以导致在6s / 6p中运行时,分别显示了不同的图片。
4.其他
推荐一个用来清理Xcode中derivedData的插件:
https://github.com/kattrali/deriveddata-exterminator
- 使用LaunchScreen.storyboard后,运行时显示老的图片
- iOS LaunchScreen.storyboard UIImageView 图片不显示
- iOS8 以上 启动界面 LaunchScreen.storyboard 图片不显示的问题
- LaunchScreen.storyboard使用--启动图
- iOS LaunchScreen.storyboard xib加载启动页面不显示问题
- LaunchScreen.storyboard 中不能加载uiimageview中的图片
- iOS产品发布到App Store前的准备(二)---Xcode 7 LaunchScreen.storyboard加载启动图片
- launchscreen.storyboard 用法
- WAPG3 Xcode 7.2的启动页设置(LaunchScreen.storyboard)
- 如何设置 LaunchScreen 显示的时间
- 动态加载LaunchScreen上的图片
- 关于ios使用LaunchScreen作为欢迎页图片加载不上的问题
- 解决使用robot framework + selenium测试时,RIDE运行一次后不显示log的问题
- 使用Matrix 显示旋转和缩放后的图片
- 用LaunchScreen.storyboard做启动图
- 指针的动态分配怎么运行后老出现这个问题
- myeclipse 未运行网页显示图片 运行后不显示图片
- 在launchscreen.xib,添加图片
- 阿里云 申请的 CA Wosin 证书 , 并在Windows iis下导入证书
- js中的 || 与 && 运算符
- 二进制小数
- FloatingActionButton
- lua源代码执行顺序
- 使用LaunchScreen.storyboard后,运行时显示老的图片
- MSVCR110.dll缺失
- 人员分配 ssl1338
- Python函数闭包和语法糖
- iOS 支付宝集成事项
- 解决windows系统80端口被占用问题
- 写出高质量代码的10个建议
- Caffe、TensorFlow、MXnet三个开源库对比
- 进程调度算法