首页 文章

Xcode崩溃管理器不符号.xccrashpoint文件

提问于
浏览
24

组织者中的新Xcode 7 "Crashes"标签显示AppStore为我的应用程序发生的一些崩溃 . 根据the documentation,应该有一个堆栈跟踪 . 但是,6次崩溃都没有象征性的堆栈跟踪:
enter image description here

我虽然没用:
enter image description here

当然,当我提交到商店时,我包含了dsym和调试信息 . 我仍然在我的组织者中提交了提交内容,因此我的机器上仍然存在dsyms . 如何在此获得正确的堆栈跟踪?

4 回答

  • 15

    不理想,但如果右键单击.xccrashpoint文件,选择"Show Package Contents",则可以导航其文件夹结构以查找可以提取的实际.crash文件,然后通过命令行using steps described here进行符号化:

    /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
    

    确保设置了 DEVELOPER_DIR

    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    
  • 5

    短篇故事:

    Xcode 9.0:"The Crashes Organizer symbolicates unsymbolicated logs, if they are selected, using a local .dSYM indexed by Spotlight. (22550064)"

    您可以在Xcode's Documentation中查看更多相关信息 .

    很长的故事:

    当Xcode为机器代码应用程序构建.xcarchive时,它会生成默认情况下被Spotlight索引的.dSYM文件 . 对于使用bitcode上传的应用程序,您可以使用Archives管理器下载默认情况下被Spotlight索引的dSYM .

    如果您在将应用程序上传到App Store时选择不包含符号信息,则Crashes Organizer下载的崩溃日志将不会被取消标记 . 如果您拥有为崩溃的应用程序版本生成的相应.dSYM文件,则当您单击崩溃以查看崩溃时,Xcode将自动对崩溃进行符号化 . Xcode 9.0中存在此功能 . 您可以通过右键单击日志详细信息视图并单击“符号”来手动调用重新符号 .

  • 0

    我在Xcode 10中第一次这样做 . 右键单击我的崩溃日志并选择Symbolicate没有任何效果 . 我在Organizer窗口的Archives部分选择了build,然后单击右侧窗格中的“Download Debug Symbols”按钮 . 这似乎没有做任何事情,但当我回到Crashes并告诉Xcode再次象征同样的崩溃时,这次它起作用了 .

  • 0

    你需要让应用程序的dsyms本地化 . 如果这是一个从say,build box上传的版本,你就不会拥有它们 . 前往App Store Connect,单击“活动”选项卡,找到相关的构建,然后点击它 . 版本详细信息屏幕包含下载dSYM的链接 - 这样做,并展开他们下载的.zip文件 .

    现在回到Xcode中的崩溃 - 它们将成功地进行符号化 .

    完整性提示:确保您的本地源与崩溃版本处于同一提交状态 . 否则,如果源文件自发布以来已更改,Xcode可能会将您转储到错误的行上 . 例如由于您最近添加了两行,因此源代码的第127行现在已移至第129行...并且崩溃视图不知道这些更改 . 它将显示第127行崩溃,其中崩溃代码实际位于第129行 .

相关问题