崩溃日志管理工具的重要性

问题描述:开发的一款app在所有的8系列的系统上都跑不起来,当看到苹果开发者中心的崩溃比例,我惊呆了,公司项目总监也给我反馈了好几次,对于一个刚出世的独立开发小白来说真的感觉有点恐慌。然而,最苦逼多事发生了,看不到崩溃日志,崩溃的用户手机里面没有开启上传崩溃日志功能,公司的测试手机以及自己的手机都是9之后的系统,所有运行都是正常的,根本不能调试,没有8系列系统的手机,我的第一想法是加入一个第三方的崩溃日志管理工具来看看崩溃信息,然后发布到内测平台让朋友8系统的手机跑一下看看崩溃日志(这时候才真的发现崩溃日志管理是有多么的重要,至少不用现在这么苦逼的找原因),好吧,开干。于是疯狂的找关于怎么使用第三方崩溃日志管理工具,独立开发小白真的有很多不知道的好用的工具,问了下安卓大哥用的腾讯的Bugly,我却为了装逼选择了存英文的Crashlytics,国外的,真的好好用,这里有个别人的效果图(不想截图)http://www.mamicode.com/info-detail-470447.html 跟着Crashlytics的提示一步步往下走就能成功的配置好 。


有了查看崩溃日志的工具,那么需要8的系统跑app,这时候没有相应的手机,只有通过内测平台了,现在用过的内测平台有:蒲公英内测平台、fir.im、苹果的TestFlight ,除了TestFlight之外,其他两个都需要创建单独的企业发布证书,还要配置xcode ,测试的手机UUID必须添加进证书里面才能安装,步骤很繁琐,具体的配置方式http://bughd.com/doc/ios 跟着操作就可以了,所有我现在都会选择苹果的TestFlight,这个是基于苹果id的下载安装,用自己的苹果id下载TestFlight别人也放心,另外两个要上传设备的UUID,这样别人也不放心,另外一个id在所有的设备上可以登录下载TestFlight,而多个设备测试UUID的添加也麻烦,推荐使用TestFlight。


根据Crashlytics 的崩溃信息(邮件提示):


Crashlytics后台提示:



定位到代码中:


这个是3D Touch的快速启动项标志,shortItem里面包含了快速启动项标志type。

3D Touch是在9.0之后的版本才有的,所有版本低于9的系统运行到这里会崩溃,崩溃信息是UIApplicationLaunchOptionsShortcutItemKey键值找不到。


问题找到,加了个判断:

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {

        

        UIApplicationShortcutItem *shortItem = [launchOptions objectForKey:UIApplicationLaunchOptionsShortcutItemKey];

        

        if (shortItem != nil) {

            

            _options = launchOptions;

            return NO;

        }

        else

        {

            //非快捷项启动

            _options = nil;

            return YES;

        }

    }

    else

    {

        //不支持3D Touch

        _options = nil;

        return YES;

    }




总结:1、项目中很有必要把Crashlytics 或者 Bugly添加进去,免得出现我这种看不到崩溃日志的尴尬局面。

2、以后在使用苹果新技术的时候务必记得进行版本判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

moxi_wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值