美文网首页
APP在iOS12以上版本出现闪退 Unrecoverable

APP在iOS12以上版本出现闪退 Unrecoverable

作者: _coCo__ | 来源:发表于2019-06-29 10:56 被阅读0次

    APP在iOS12以上版本出现闪退 Unrecoverable CT signature issue, bailing out

    2019-06-29

    本片文字重点介绍解决问题思路和一个Mac自带的Console神器使用

    问题描述

    最近在使用Fastlane+Jenkins+Xcode10.1.1+二维码平台打出IPA包,扫码下载安装后出现,APP在点击启动时会出现在启动页面闪退的问题。但是,但是我在xcode运行真机安装或者xcode直接打包出的IPA安装运行都是一切正常的。

    于是开始想办法查找APP崩溃日志看啊,就有了下面:

    1. 工程接入腾讯的bugly。(⊙v⊙)嗯!? 无法统计到Crash日志。

    分析原因:可能是因为在App还没启动完成就崩溃了,所以统计不到日志

    2. 发生崩溃的IPA包安装到手机之后,通过Xcode -> Window -> Devices and Simulators -> View Device Logs获取手机的崩溃日志。然而,竟然仍没有崩溃日志!?

    直接用xcode打包一切正常,Jenkins打包出的IPA就会崩溃,并且还没有手机crash日志记录。。。

    瞬间懵逼!?为啥!???

    懵逼

    问题解决经历

    没有crash日志无从下手啊,于是就有了下面一系列的排查:

    1. 工程里面所有的警告⚠️,以及日志打印
    2. Jenkins打包脚本
    3. Jenkins配置
    4. 证书是否是对应的证书。
    5. 服务器macOS环境
    6. xcode环境
    7. 。。。

    期间又试试了一下其他之前在Jenkins打包正常的项目,再次进行Jenkins打包安装,竟然也崩溃了!??

    各种Google、各种度娘、依然无解。
    这个问题困扰了我好多天。。

    流泪

    直到有天我遇到了……

    高能预警!!!高能预警!!!高能预警!!!

    高潮来了

    在xcode中有一个控制台的工具,该工具不仅能实时获取mac的运行日志,也能获取到mac上链接的iPhone设备的运行日志.

    xcode的就有入口:Xcode -> Window -> Devices and Simulators -> Open Console

    控制台入口

    进入后选择你的需要运行的iPhone设备,就能在右边看到iPhone的实时运行日志。

    由于日志比较多,也可以进行日志的筛选,过滤关键字bundleID:

    手机的控制台日志信息图

    终于!!!

    我拿到了在改iPhone上APP崩溃的日志

    AMFI: '/private/var/containers/Bundle/Application/FBD9A64A-9F21-4004-AB57-2A68EF667BAD/xxx.app/xxx' does not pass CT evaluation, result: 0x80008
    
    AMFI: '/private/var/containers/Bundle/Application/FBD9A64A-9F21-4004-AB57-2A68EF667BAD/xxx.app/xxx': Unrecoverable CT signature issue, bailing out.
    

    泪流满面啊,终于拿到了!!!

    Console果然是黄金神器,相见恨晚!!

    经过Google终于找到解决方案:

    在iOS12下,iOS应用程序将不再在设备上运行:无法恢复的CT签名问题

    有以下文章

    原来是证书设置问题,Jenkins打包服务器上企业证书设置不能是始终信任,应该是使用系统默认设置。iOS11及以下是OK的,应该是iOS12苹果调整了策略所以不可以了。

    我修改了下后,再次Jenkins打出IPA包,真的OK了耶,运行正常!

    回顾

    回顾整个问题解决的历程,主要是卡在无法获取到crash日志信息无从下手,发现了控制台工具后,拿到crash日志问题就有了入手点,很好解决了。

    论善用工具的重要性! 苹果爸爸已经提供给我们了这么好的神器Console,只是我们一直不知道如何使用。

    在文章 开发问题记录(二)中,作者遇到的问题和我一样,他提到了另外一个工具,也是实时获取到日志信息的,但是苹果爸爸已经给我们预备好了这么好的神器了,为什么还要用第三方的呢。

    总结

    解决问题思路很重要!找到合适的工具也同样很重要!

    相关文章

      网友评论

          本文标题:APP在iOS12以上版本出现闪退 Unrecoverable

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