APP设备的首次安装启动crash

crash现象

只有首次安装启动时会crash,再次运行APP正常进入,全局断点位置固定,但不是crash原因

解决方法

搜索是否导入了同名的类库,尤其是keychain相关的库 删除或者修改其中一个

案例1

第一次遇到这种问题是在使用SSKeychain时.当时手动导入了SSKeychain库,使用正常,之后又接入了SheareSDK.期初没有发现.直到老板丢给我一个新的测试机之后,在新机首次安装启动crash掉了.这种bug很难寻找.即便是重新卸载安装也不会再次crash.根据这种特性想到了可能是因为keychain的问题.因为只有keychain不会随着APP卸载而清除.
解决问题的过程比较幸运,我比较习惯使用搜索文件夹查找类文件,当我搜索SSKeychain文件是,发现除了我自己导入的还有一个SSKeychain文件躺在SheareSDK的新浪微博包中.于是将自己手动导入的SSKeychain文件更改了类名,问题解决

案例2

这次又碰到的同样的问题.审核被拒绝.原因是一个crash导致无法启动.解析apple返回的crash文件后得到这样的线索:

APP设备的首次安装启动crash_第1张图片
QQ20170801-0.png

注意被选中的那行,看到keychain再结合crash的时机,果断在项目中所搜JYang,在融云的框架中发现


image.png

而在我手动导入融云红包库中也有这个framework.造成出现两个红包库的原因是在最新版本的融云库中集成了红包库,而之前红包库和融云的聊天库是两个独立的类库, 删除其中一个后问题解决

你可能感兴趣的:(APP设备的首次安装启动crash)