提问人:Gomu Miyashita 提问时间:10/26/2023 最后编辑:Gomu Miyashita 更新时间:10/28/2023 访问量:69
如何对 Apple 应用审核提交中的 JSON 崩溃报告进行符号化
How to symbolicate a JSON crash report from Apple app review submission
问:
我已提交 iOS 应用程序以供审核。审阅者无法查看应用,因为它在启动时崩溃。
崩溃报告的 JSON 格式与 Apple 文档中的格式不同,如下所示:
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libswiftCore.dylib 0x00000001bd38da70 0x1bd149000 + 2378352
1 libswiftCore.dylib 0x00000001bd38da70 0x1bd149000 + 2378352
2 libswiftCore.dylib 0x00000001bd15958c 0x1bd149000 + 66956
3 libswiftCore.dylib 0x00000001bd15c814 0x1bd149000 + 79892
4 TouchCanvas 0x00000001022cbfa8 0x1022c0000 + 49064
5 TouchCanvas 0x00000001022c90b0 0x1022c0000 + 37040
6 TouchCanvas 0x00000001022e7374 0x1022c0000 + 160628
7 TouchCanvas 0x00000001022df754 0x1022c0000 + 128852
8 TouchCanvas 0x00000001022df7e8 0x1022c0000 + 129000
9 UIKitCore 0x00000001b3da6230 0x1b3348000 + 10871344
10 UIKitCore 0x00000001b3da6230 0x1b3348000 + 10871344
11 UIKitCore 0x00000001b3e01e24 0x1b3348000 + 11247140
Apple 是否更改了崩溃报告格式?如何对 JSON 崩溃报告进行符号化?任何链接或信息将不胜感激。
我无法使用 Apple 文档中描述的方法,因为设备日志按钮似乎已从设备和模拟器窗口中删除,如 Apple 开发人员论坛 developer.apple.com/forums 的这篇文章中所述。此 SO 注释 stackoverflow.com 中详细介绍了该方法
我正在使用 Xcode 版本 15.0 (15A240d)。
答:
0赞
Gomu Miyashita
10/27/2023
#1
我找到了一个解决方案。
我使用了 GitHub 项目 AppleCrashScripts 中的这个脚本,它将 Apple JSON 崩溃格式(在较新的设备上使用?)转换为旧样式类型的崩溃报告,然后像往常一样使用 symbolicatecrash。
评论
0赞
HangarRash
10/28/2023
只需在 Xcode 中打开崩溃日志即可。无需手动运行。symbolicatecrash
0赞
Gomu Miyashita
10/28/2023
你能解释一下我是怎么做到的吗?该应用仅在应用审核期间崩溃,而不会在 Testflight 中崩溃。因此,我正在尝试在Xcode中导入下载的崩溃报告。我已经尝试了文档中描述的设备和模拟器方法,但 [设备日志按钮] 在 Xcode 15 中不再可用。我也尝试过使用 Organizer - > Crashes,但它只会显示来自 App Store 或 Testflight 的崩溃,我不知道如何导入“外部”崩溃报告。报告是扩展名为.txt JSON 文件。没有运气重命名为 .crash。任何帮助将不胜感激。
0赞
HangarRash
10/28/2023
看看我刚刚发布的答案。
1赞
HangarRash
10/28/2023
#2
如果一开始就有一个带有一些 JSON 的崩溃日志,然后是典型的崩溃报告,请确保该文件的扩展名为 ips。
然后在Finder中右键单击该文件,然后选择使用Xcode打开该文件。Xcode 将提示您选择与崩溃日志关联的项目。选择正确的项目后,您将看到符号化的崩溃报告,并转到项目中导致崩溃的相关代码行。
如果您选择的项目副本代表您存档应用时的代码,则此方法最有效。如果相关文件从那时起发生了更改,则可能会指向错误的代码行。
评论