fastlane打的包可以指定输出ipa和dsym文件到指定的文件夹,有时候测试发过来一个crash文件,需要解析。正常如果 xcode archive 的包,直接拖到 device 的 log 面板即可符号化。其内部起作用的是一个叫symbolicatecrash的工具。我们可以利用这个工具配合 dsym 文件手动符号化。

1
2
3
4
5
6
7
8
9
10
11
12
build_app(workspace: "XXX.xcworkspace", 
configuration: "Debug",
scheme: "XXX",
clean: true,
include_bitcode: false,
export_xcargs: "-allowProvisioningUpdates",
export_options: "./fastlane/ExportOptionsDev.plist",
build_path: "./fastlane/Archives",
archive_path: "./fastlane/Archives/LiHua.xcarchive",
output_directory: "~/Desktop/XXX-IPA/AlphaDebug",
output_name: "XXX_v#{version_number}(#{build_number})")

步骤

1. 找到工具

使用下面的命令在 Xcode.app 中找到 symbolicatecrash

1
find /Applications/Xcode.app -name symbolicatecrash

应该会看到如下输出:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

2. 复制工具、crash文件、dsym文件到同一个目录

3. 执行

1
2
3
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

./symbolicatecrash xxx.crash xxx.app.dSYM/ > output.crash