美文网首页iOS之报错上架填坑iOS进阶指南iOS Developer
Xcode9.2 编译在iOS8.1 系统上图片显示异常

Xcode9.2 编译在iOS8.1 系统上图片显示异常

作者: 煜寒了 | 来源:发表于2017-12-09 11:29 被阅读1408次
    题图

    趁着下载Xcode 9.1 的空隙,在周末的早晨记录一下这个坑,希望能解决相同遭遇同行的困惑。

    始因

    昨天刚发布了适配iPhone X 的最新版本,之所以使用Xcode 9.2打包,是因为早期的适配,通过Xcode 8.2打包,安装到iPhone X上显示的效果是没有适配。

    这个也是无法解释的,我们开发使用的Xcode9,在适配过程中没有遇到该问题,总是升级就对了。

    刚好最近苹果爹发布了Xcode 9.2,就索性升级到最新版本。

    持续化集成就是方便,代码提交以后,喝杯咖啡的工具,就上传成功,等待审核。

    也就是在昨天中午,收到审核通过的提醒,很奇怪,这个时候应该是他们休息的时间。

    然后,就非常肯定,因为在适配的过程中,特意找了两个iPhone X的用户帮助测试体验。随着审核通过,就很快发布出去。

    问题

    大概下午3点钟,距离发布版本只过了3 个小时左右。收到客服妹子的一个大写的问号。

    WX20171209-100043@2x.png

    这一瞬间,整个人都是懵的,慌忙让用户重启APP,重启系统,升级系统,最后被用户拒绝掉。

    既然是必现的问题,不能将问题推到升级系统上,该解决还是要尽快解决的。

    接着就开始着手另外一个项目,晚上回到家开始思考,问题存在的版本近期究竟改了什么内容。同时也下载了iOS8.1 的模拟器,使用最新版本的Xcode 运行看了下效果,确实如此是复现的。

    所以,要马上改变态度,和客服同志搞好关系,早点认错才能走得更远。

    WX20171209-101223@2x.png

    回忆

    1. 删掉LaunchScreen.sb 文件

    为了适配iPhone X 的启动图,同时在启动后使用启动图做了简单的效果,决定使用LaunchImage 的方式设置启动图。

    在更改代码后,尝试了一下修改结果,依然是非正常的。

    效果如下,丝毫没有改变:

    Simulator Screen Shot - iPhone 6 - 2017-12-09 at 10.17.01.png

    2. Xcode 版本升级

    这次的改动比较小,所以在排除上述的改动后,直接想到的就是可能就是这个问题,但是很少会怀疑苹果爹会挖这么大的坑,让开发者跳进去。

    不管如何,降级版本试试就知道是不是这个原因。

    Xcode9.2 Xcode9.1
    Simulator Screen Shot - iPhone 6 - 2017-12-09 at 10.17.01.png Simulator Screen Shot - iPhone 6 - 2017-12-09 at 10.51.55.png

    通过上述对比,确定问题就处在Xcode 版本上。

    解决方案

    1. 等苹果爹更新

    如果苹果爹一直没注意到这个问题,或者没有人提,谁知道还要等多久?
    关于此问题,我已经向苹果爹提交了bug,期待后续修复:

    ProblemID=35948702

    2. 先降级Xcode

    确切的说,这是目前最快捷的一个方式,保证没有问题。

    3. 改变图片资源存储

    图片不要放在asset里面,方法放在bundle里面就没问题。不知道是Xcode9.2bug还是没设置相关属性。

    参考链接

    相关文章

      网友评论

      • 小凡凡520:兄弟 我也碰到过
        煜寒了:过了大半年,你们刚发现这个问题吗 :stuck_out_tongue_closed_eyes:
      • 马铃薯蜀黍:我设置了应用只能ios9.1以上使用....是不是有点过分了
      • 原野de呼唤:怎样能够复现这个问题呢
        iOS白水:@煜寒了 xcode 9.4 好了么
        原野de呼唤:@无效用户 明白啦,谢谢
        煜寒了:@原野de呼唤 Xcode 9.2 在iOS 8.1 模拟器或真机调试就会出现
      • 无名lxl:已升级,已出现bug,已背锅······:smile:
        d8e6adc27688:已背锅
        煜寒了:@无名lxl 干得漂亮,哈哈
      • Syik:感谢提醒, 暂时不升级
        煜寒了:@Syik 好运哈哈
      • 会跳舞的狮子:苹果这个坑果然大 我现在用的Xcode9.1 等到出Xcode10 的时候再升级了
        煜寒了:@会跳舞的狮子 恩。我也把打包系统的Xcode 降级到9.1,这种问题是靠用户才发现的,程序员背锅:sweat:

      本文标题:Xcode9.2 编译在iOS8.1 系统上图片显示异常

      本文链接:https://www.haomeiwen.com/subject/rnyuixtx.html