从Crash文件出发解决bug的一般步骤,分三步:
a, 获取设备上的崩溃日志。
b, 分析崩溃日志,找到报错位置(定位到函数和代码行数)。
c, 打开代码,改bug。
1, 获取设备日志
1. 在可以获取到运行app的手机,或者用户配合导出日志的情况下。可以将设备连接到电脑,然后与电脑上的iTunes同步,崩溃日志会同步到电脑上的指定文件夹。(上面博客有指明)
2. 在可以直接获取到运行app的手机的情况下。可以将设备连接到电脑,然后打开xcode软件,选择Window->Devices,然后可以在xcode中查看设备上的所有崩溃日志。
3. 在app已经上线的情况下,可以通过iTunes Connect获取用户的崩溃日志。
2, 解析日志
了解崩溃日志来源之后,提取对应项目崩溃的.crash文件,解析日志需要4样东西:1. 第一步中提取到的.crash文件。2. symbolicatecrash二进制文件。3. dSYM文件。4. app文件
2.1 在命令行输入下面的命令获取symbolicatecrash二进制文件,获取到路径后,copy一份出来
find /Applications/Xcode.app -name symbolicatecrash -type f
2.2 从Xcode Archive的二进制文件中找到.dSYM文件和.app文件copy一份出来
2.3 新建一个文件夹CrashReport,把上面提取到的4个文件放在该文件夹下面,一次运行下列命令
//命令行进入CrashReport目录 cd Desktop/CrashReport/ //配置环境变量 export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer //解析.crash文件 ./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
2.4 打开symbol.crash,发现和Xcode控制台崩溃日志是一样的了
2.5 改bug
参考资料(戳这里):
> Xcode崩溃日志分析工具symbolicatecrash用法
> 别用symbolicatecrash来解析crash Log了
> 分析iOS Crash文件:符号化iOS Crash文件的3种方法
> iOS Crash - 收集篇 iOS Crash - 解析篇 iOS Crash - 分析篇
> Xcode7.3工具解析App崩溃日志(.crash文件)
> https://www.raywenderlich.com/33669/overview-of-ios-crash-reporting-tools-part-1
> https://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1
> https://www.raywenderlich.com/10505/my-app-crashed-now-what-part-2