使用AGC Crash服务,创建IOS项目,应用在编译时使用了混淆,会将类名,方法名,方法等混淆后,产生的崩溃包括必须通过上传符号文件才能还原。这里介绍两种IOS符号文件的产生过程和上传方法。

自动上传

  1. 下载自动上传脚本(链接
  2. 在Xcode中配置编译执行脚本

    a. 双击Xcode工程,在Xcode工程对应Target的Build Phases中新增Run Script:

集成AGC崩溃服务如何生成iOS符号文件表并上传_xcode

     b. 打开下载的脚本中的dsymUploader.sh,复制所有内容,在新增的Run Script Phase中粘贴。记得一定是所有内容,后面有自带的执行脚本。

集成AGC崩溃服务如何生成iOS符号文件表并上传_xcode_02

      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,如下可以查看到日志显示生成和上传成功:

集成AGC崩溃服务如何生成iOS符号文件表并上传_符号文件_03

手动上传

  1. 如果自动上传有问题,还可以手动上传符号文件。首先需要找到生成的符号文件在哪里,可以在Xcode左侧项目目录的“Products”中找到生成的“xxx.app”,右键选择“Show in Finder”,在文件夹中即可找到生成的“xxx.app.dSYM”文件,如下:

集成AGC崩溃服务如何生成iOS符号文件表并上传_xcode_04

      2. 选中对应的“xxx.app.dSYM”文件,右键选择显示包内容,在 Contents/Resources/DWARF/ 目录下可以找到和app同名的 “xxx”文件,压缩“xxx”文件生成“xxx.zip”iOS符号文件。获取符号文件后,登录AGC,进入崩溃页面,选择“upload file”上传即可:

集成AGC崩溃服务如何生成iOS符号文件表并上传_符号文件_05

       3. 上传完可以点击“View upload records”查看上传记录或者删除已上传的文件:

集成AGC崩溃服务如何生成iOS符号文件表并上传_xcode_06