3

我正在尝试符号化我已自动发送到服务器的崩溃日志。我的应用程序崩溃时,我的应用程序的崩溃日志和 dSYM 文件会发送到服务器。我遇到的问题是象征他们。我想以编程方式执行此操作,以便该过程可以自动化。因此,我试图将 symbolicatecrash 终端命令用作 python 脚本中的子进程。但在我尝试实现它之前,我需要让 symbolicatecrash 正常工作。输入以下命令不成功;

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash -o /Users/aj/Documents/symbolicatedcrash.crash com.COMPANYNAME。 TEST_APP.crash TEST_APP.app.dSYM

我使用 -o 选项将输出写入文件。输入此代码不会返回错误。输出文件被创建,崩溃日志只是没有符号化。

通过研究人们的类似问题,我发现下载 .ipa 文件并解压缩它会有所帮助。我已经这样做了,发现如果 .app 文件在服务器上,symbolicatecrash 命令确实会表示符号。

我的问题是我不想下载 .ipa 文件。每次发生新的崩溃(或至少是新的构建)时下载它对服务器来说效率低下。我只想在每次应用程序崩溃时下载 dSYM 和崩溃文件。

我的问题最终是:我可以只使用 dSYM 文件来表示崩溃日志吗?如果是这样,可以使用 symbolicatecrash 终端命令来完成吗?

谢谢

4

1 回答 1

3

经过进一步的实验,我发现您确实需要 .ipa 文件或归档的应用程序二进制文件来完全象征崩溃日志。

不过,您不需要在终端命令中包含这些文件;如果您在计算机上的任何位置都有应用程序二进制文件,我在问题中给出的示例就可以工作。该命令将使用 Spotlight 查找应用程序二进制文件,然后返回完全符号化的崩溃日志。

注意:重要的是,您的二进制文件/崩溃日志/dSYM 文件都来自同一个版本,以拥有完全符号化的日志。

于 2014-09-09T15:34:03.847 回答