如何象征从 Apple 收到的以 .txt 格式而不是 .crash 格式的崩溃报告

Posted

技术标签:

【中文标题】如何象征从 Apple 收到的以 .txt 格式而不是 .crash 格式的崩溃报告【英文标题】:How to symbolicate crash report from Apple received in .txt format not .crash format 【发布时间】:2016-11-08 05:47:24 【问题描述】:

我的应用被 Apple 拒绝了,我收到了 .txt 格式而不是 .crash 格式的崩溃报告。

如何符号化或阅读崩溃报告?

【问题讨论】:

同样,所有其他 SO 帖子都讨论 .crash 文件。我似乎无法将 iTunes Connect 提供的 .txt 崩溃日志文件拖放到 Xcode 中的“查看设备日志”控制台中……@bably 你找到答案了吗? @alexisSchreier 只需手动将 .txt 扩展名更改为 .crash 然后保存文件。 .txt 文件然后被转换为 .crash,您可以继续阅读崩溃报告。希望这会有所帮助。 感谢您的提示。我试过了,但 Xcode 仍然不会自动符号化文件,所以我必须按照苹果指南使用 atos 命令手动完成。它只需要一点时间就可以逐行完成...developer.apple.com/library/content/technotes/tn2151/… 【参考方案1】:

当您获得 .txt 文件形式的崩溃报告时,只需遵循这些 步骤:

    将文件扩展名.txt更改为.crash(例如mycrash.txt更改为mycrash.crash)。

    在桌面创建一个新文件夹并将mycrash.crash文件复制到 新创建的文件夹。

    复制 .dSYM 文件:

    更新:从 appstoreconnect 活动下载所有 DSYM - 它们使用 UUID 正确命名 解压缩 DSYM,然后复制如下定义的 App 和 Sybolicate 脚本: https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app/[appID]/activity/ios/builds/[version]/[build]/details

    通过导航菜单在 Xcode 中打开存档窗口:xcode -> window -> orgnizerxcode -> product -> Archive

    选择您应用的任何档案 右键单击​​它,然后选择在 Finder 中显示

    右击appname.xcarchive并选择显示包内容

    打开 dSYMs 文件夹并获取 .dSYM 文件,并将其粘贴到新创建的文件夹中。

    将 .app 文件从同一个 xcarchive 复制到新文件夹。

    转到路径/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/

    Finder 热键 (⇧ + ⌘ + G) 并粘贴到路径中。

    symbolicatecrash 文件复制到新创建的文件夹中。

    该文件夹现在应该有: mycrash.crash myapp.app myapp.app.dSYM 符号崩溃

    打开终端,导航到您的文件夹路径,然后运行: $export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

    然后在崩溃时运行 symbolicate 命令,如下所示: $./symbolicatecrash mycrash.crash > symbolicated.crash

【讨论】:

查看“显示包内容”时,任何地方都没有 .app 文件。 第 3 点和第 4 点令人困惑。为什么我们要从两个位置读取 dSYM? 原因是,有些应用程序包含位码,有些则没有。这应该在答案中解释。如果您的应用程序包含位码,Apple 将在将其发送给客户之前对其进行重建。重建会更改 dSYM,因此在这些情况下,您必须先下载最新版本才能继续。【参考方案2】:
    将文件扩展名.txt更改为.crash 确保您的设备已插入。 转到 xcode -> 窗口 -> 设备和模拟器 -> 查看设备日志。 将崩溃日志的文件拖到该窗口的左侧。 现在您可以查看日志以及那里发生的情况。

【讨论】:

确保您已插入设备以获取查看设备日志的选项;这比接受的答案要容易得多 没有符号化【参考方案3】:

无法对 Shakti 的回答添加评论,但我在第 5 步和第 6 步遇到问题,因为它抱怨未指定 DEVELOPER_DIR。

后来我在谷歌上搜索了一下,发现第 5 部分应该是:

5 现在打开终端 cd 你的文件夹路径然后输入这个

导出 DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

所以,“export”也是一个关键字和命令的一部分,以防万一其他人遇到同样的问题。

【讨论】:

【参考方案4】:

它对我有用,也可以帮助其他人

Apple 为您提供 .txt 格式的崩溃日志,这是非符号化的

**

连接设备

**

下载“.txt”文件,将扩展名改为“.crash” 在 Xcode 的窗口选项卡中打开设备和模拟器 选择设备并选择设备日志 将 .crash 文件拖放到设备日志窗口

我们将能够在那边看到符号化的崩溃日志

有关符号化Crash logs 的更多详细信息,请参阅链接

【讨论】:

不起作用。这是一个简单的解决方案,应该可以工作,但它不起作用。 确保您使用用于开发的相同 iPad。令人惊讶的是它对我有用。如果有人在符号化日志上苦苦挣扎,他们可以试试这个方法 我遵循了相同的解决方案,我可以找到源代码视图控制器名称和方法名称,而不是十六进制代码。感谢您的解决方案。【参考方案5】:

在管理器中拖动 .crash 文件并不完全代表我的崩溃。所以我尝试了另一种方法。

如果存档的版本已经在您的计算机上。然后你不需要给 .app 和 dsym 文件。只需在终端中运行以下命令即可。

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

回车

    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Your/Crash/File/Path/c.crash > /Your/Symbolicated/Crash/File/Path/c.crash

回车并检查您提供的路径。

【讨论】:

以上是关于如何象征从 Apple 收到的以 .txt 格式而不是 .crash 格式的崩溃报告的主要内容,如果未能解决你的问题,请参考以下文章

当 iPhone 从配对的 Apple Watch 收到消息时本地通知不会取消(有时)

如何从数据网格中以特定格式创建 txt 文件?

python如何把txt中的数字提取出来放到list中,要求格式是int,而不是原始的str?

将电子书从txt格式转换成epub格式的软件?

iOS从Files App中无法打开特定格式文件的解决(提示没有访问权限)

iOS从Files App中无法打开特定格式文件的解决(提示没有访问权限)