本文介绍的Xcode版本为10.1

1打开Crashes界面:Xcode -> Window -> Organizer
2选中需要查看的已上线app,选中Crashes,如图1所示:

3Xcode反馈的bug相对较慢,有一到两天的时间延迟,并且需要用户打开共享崩溃信息权限,当用户同意分享时,Crashes会直接定位出崩溃的所在文件和行数,如图2所示,点击图2中的两处红框然后选择相对于的项目,就会自动跳转到崩溃的位置,如图3所示,这种情况下直接在项目中修改bug即可


4但是有的时候有些bug或者是用户没有打开共享崩溃数据的情况下,就会出现另一种情况,如图4,图5所示,这种情况下就需要我们将错误信息符号化查看相对于的错误信息


5符号化Crash文件需要三个文件,xxx.app xxx.dSYM xxx.crash
xxx.app获取方式如图6所示,选中Archives,选中相对于的项目版本,右键show in finder,找到相对应的.xcarchive文件,右键显示包内容,找到xx.app文件,如图7所示


xxx.dSYM的获取方式:进入苹果开发者官网App Store Connect -> 我的APP -> xxx 项目 ->活动 -> 所有构建版本,点击相对应的构建版本,进入下载dSYM文件,如图8 图9所示


xxx.crash 获取方式,在Crashes中选中某一条crash,右键show in finder,找到相对应的xccrashpoint文件,右键显示包内容,然后选中一条crash记录,如图9,图10,图11所示



6 将获取到的xxx.app xxx.dSYM xxx.crash 三个文件放到同一个文件夹当中

7 寻找命令行工具symbolicatecrash
打开终端 terminal,输入命令 find /Applications/Xcode.app -name symbolicatecrash -type f
找到了四条记录,然后随意复制一条记录,输入命令open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework 打开finder,找到图14所示的symbolicatecrash,讲symbolicatecrash复制到三个文件所在的文件夹中,如图15所示


8 符号化crash

使用终端terminal进入到文件所在的文件夹

9执行命令 export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
10执行命令 ./symbolicatecrash 2019-02-26_08-49-13.1806_+0800-2a295d276235178f4ef2412a389e8cce5bc783bf.crash FlowerDaQuan_swift.app/ > crashLog.log
其中 2019-02-26_08-49-13.1806_+0800-2a295d276235178f4ef2412a389e8cce5bc783bf.crash 是相对应的crash文件
FlowerDaQuan_swift.app是app文件
crashLog.log是到处的log日志文件,会在当前文件夹中生成

11 打开文件夹crashLog.log文件,搜索“Crashed”,找到崩溃的线程,然后定位修复bug

网友评论