iOS 用户的崩溃日志文件

当需要客户协助分析App闪退的问题时,需要拿到客户手机中的崩溃日志文件(如果客户有意愿配合),如何拿到崩溃日志文件,有两种形式:
1. 客户的手机与iTunes同步,然后根据Windows、Mac平台找到目录下的crash文件(对客户来说感觉很麻烦,这种不介绍)
2. 通过客户手机 -> 隐私 -> 分析或分析与改进 -> 分析数据 -> App崩溃节点日志 -> 点击 -> 右上角分享,这种方式动几下手指就可以了容易接受
拿到客户的文件要改成crash后缀的文件: xxx.crash**

dSYM文件

接下来找到dSYM文件:
1. 如果已明确针对版本备份直接复制过来就好了
2. Xcode -> Window -> Organizer -> App -> 对应版本 -> 右键 Show In Finder -> 显示包内容 -> dSYMs -> xx.app.dSYM显示包内容 -> 直捣黄龙 Contents/Resources/DWARF/最终dSYM文件 -> 复制出来

日志符号化

比如,在桌面创建个文件夹:「app-crash」,把crash文件和dSYM文件放到里面。

分析工具

写本文时Xcode版本为:Version 11.4.1 (11E503a)
利用Xcode自带的符号化分析工具「symbolicatecrash」,它在Xcode软件包内:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources

为了方便使用,你可以在用户级别的配置文件里配置一下(没有可以创建):~/.bash_profile

  1. 编辑文件:export PATH=/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources:/sbin/:$PATH,将工具的路径追加PATH变量中
    一定要注意这里的冒号不要忘记!!!
  2. 命令行:source ~/.bash_profile,执行完要关闭重新打开一个终端
  3. 在新开的终端里输入:which symbolicatecrash,配置好的话就会打印配置的路径

工具的环境变量

终端输入命令:export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer/"
打印该变量:echo $DEVELOPER_DIR

  1. 如果没有配置环境变量的话,会报错:
    Error: "DEVELOPER_DIR" is not defined at xxxx ...
  2. 这样设置的环境变量只针对当前会话(当前终端窗口)有效

符号化

万事俱备开干了,进入「app-crash」目录,当前终端输入命令:
symbolicatecrash ./crash文件 ./dSYM文件 > ./crash.log

等待一小会儿,分析结果就输出到当前目录的crash.log文件里了,好好看看什么问题吧...

你可能感兴趣的:(iOS 用户的崩溃日志文件)