![enter image description here](https://istack.dev59.com/BDA13.webp)
![enter image description here](https://istack.dev59.com/DyFpR.webp)
不是最理想的方法,但如果你右键点击一个 .xccrashpoint 文件,选择 "显示包内容",你可以浏览其文件夹结构以找到实际的 .crash 文件,并通过命令行提取然后进行符号化使用这里描述的步骤:
运行
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
确保已设置DEVELOPER_DIR
:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
简短描述:
在Xcode 9.0中:"Crashes Organizer"使用本地的.dSYM文件对未符号化的日志进行符号化(如果它们被选中),该文件由Spotlight索引。(22550064)
您可以在Xcode文档中了解更多信息。
详细描述:
Xcode为机器码应用程序生成.xcarchive时,会默认生成.dSYM文件,并由Spotlight索引。对于使用位码上传的应用程序,您可以使用档案管理器下载由Spotlight默认索引的dSYM文件。
如果您选择在上传应用程序到App Store时不包括符号信息,则Crashes Organizer下载的崩溃日志将是未符号化的。如果您有适用于已崩溃应用程序版本的相应.dSYM文件,当您单击崩溃以查看其详细信息时,Xcode将自动对其进行符号化。此功能存在于Xcode 9.0+中。您可以通过右键单击日志详细信息视图并单击“symbolicate”来手动调用重新符号化。
我第一次在Xcode 10中进行此操作。右键单击我的崩溃日志并选择Symbolicate没有任何效果。我在组织者窗口的存档部分中选择了构建,并在右侧面板中点击了“下载调试符号”按钮。这似乎没有做任何事情,但当我回到Crashes并告诉Xcode再次对同一个崩溃进行符号化时,这次它起作用了。
您需要在本地拥有应用程序的 dSYMs。如果这是从构建盒子上传的构建,那么您将没有它们。前往App Store Connect,点击“活动”选项卡,找到您相关的构建,并点击进入。版本详细信息屏幕包括一个链接,可下载dSYMs - 这样做,并展开它们下载的.zip文件。
现在回到Xcode中的崩溃 - 它们将成功地进行符号化。
理智提示:确保您的本地源代码与崩溃版本相同。否则,如果自发布以来源文件已更改,则Xcode可能会将您转移到错误的行。例如,您的源代码的127行现在已经移动到129行,因为您最近添加了两行...而崩溃视图并不知道这些变化。它将显示代码崩溃在第127行,实际上崩溃代码位于第129行。