测试有的时候回发生闪退或crash,复现比较困难,我们可以采用一些crash report 的方式进行追踪
一、获取 crash report
1.xcode archive 中的自带的 crash,但是日志比较少,很多有的追踪不到
2.通过手机自带的功能,收集crash report
到 设置-隐私-分析- 打开 共享iPhone 分析
点击分析数据,会看到 .ips 的文件,就是crash report
二、解析 crash report
1.通过xcode的archive 的crash看到是 解析好的数据,可以直接定位到function里面
2. 通过手机收集的crash report,是16进制的,需要进行手动解析
2.1:将.ipa文件更名为.crash文件
2.2:
方法:
如果源码找不到,可以通过DSYM文件进行解析
1.创建 一个crashFile文件,将.crash文件放置到文件里
2.获取闪退的包的dsym。获取方法: 打开xcode, 点击 window - Organizer ,选择你当时打的包的archive - show in Finnder -显示包内容 -dSYMs 文件夹里找到 当时打包的 .dSYM 文件
3.复制.dSYM 到crashFile文件中
4. 找到当时打包用的xcode(必须是打包的dev用的那个打包的xcode,(因为一个人可能装了多个版本的xcode)), 前往到 /应用程序/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash (这是我的xcode地址,可能会不一样,注意修改)
5.复制symbolicatecrash到crashFile中
6.打开终端,cd到crashFile的目录,
6,输入 ./symbolicatecrash Verifime-2020-11-11-081439.crash Verifime.app.dSYM > crash.log 命令 (注:修改 Verifime-2020-11-11-081439.crash Verifime.app.dSYM 为你的文件名)
7. enter,等一会会发现你的crashFile里多了一个crash.log文件,这个是解析过的文件
8.如果你有当时打包的源码,将crash.log更名为crash.crash右键打开 crash.crash,选择源码xcode,可以直接定位到闪退的 地方(就是这么方便 嘻嘻嘻)。 没有就直接分析那个方法闪退就行了
到此就结束了!