使用AGC Crash服务,创建IOS项目,应用在编译时使用了混淆,会将类名,方法名,方法等混淆后,产生的崩溃包括必须通过上传符号文件才能还原。这里介绍两种IOS符号文件的产生过程和上传方法。
自动上传
1.下载自动上传脚本
2.在Xcode中配置编译执行脚本
a. 双击Xcode工程,在Xcode工程对应Target的Build Phases中新增Run Script:
b. 打开下载的脚本中的dsymUploader.sh,复制所有内容,在新增的Run Script Phase中粘贴。记得一定是所有内容,后面有自带的执行脚本。
c. 配置脚本信息
<your_app_id>为App ID,<your_client_id>为Client ID,<your_client_secret> 为Client密钥(要在AGC项目设置页面获取),<your_agcgw_url> 为AGC服务域名,<your_collector_url> 为华为分析服务域名。除了client secret其他值都可以在下载的plist文件获取。
d. 设置如下值为1, 保证Debug模式和模拟器编译都能上传符号表
UPLOAD_DEBUG_SYMBOLS=1
UPLOAD_SIMULATOR_SYMBOLS=1
3.直接编译,符号文件会自动生成并会自动上传至AGC,如下可以查看到日志显示生成和上传成功:
手动上传
1.如果自动上传有问题,还可以手动上传符号文件。首先需要找到生成的符号文件在哪里,可以在Xcode左侧项目目录的“Products”中找到生成的“xxx.app”,右键选择“Show in Finder”,在文件夹中即可找到生成的“xxx.app.dSYM”文件,如下:
2.选中对应的“xxx.app.dSYM”文件,右键选择显示包内容,在 Contents/Resources/DWARF/ 目录下可以找到和app同名的 “xxx”文件,压缩“xxx”文件生成“xxx.zip”iOS符号文件。获取符号文件后,登录AGC,进入崩溃页面,选择“upload file”上传即可:
3.上传完可以点击“View upload records”查看上传记录或者删除已上传的文件: