ios - Crashlytics 为混淆的应用程序手动上传 dSYM

标签 ios firebase obfuscation crashlytics ixguard

我已将 crashlytics 集成到使用 ixguard 作为混淆工具的应用程序中。在非模糊版本上使用模拟器进行建议的测试效果很好。
要正确地对混淆的应用程序崩溃日志进行去符号化,需要不同的 dSYM 文件。这个新的 dSYM 由混淆工具提供,我使用 firebase 门户上传它。
在 firebase 控制台中,我可以看到一些通过使应用程序崩溃而生成的崩溃日志,但它们仍然需要正确的 dSYM(必需)。好像没有考虑新的dSYM。
通过运行 dwarfdump -u Obfuscated.BS.dSYM ,我可以清楚地看到所需的 UUID 出现在列表中,因此它们应该匹配。
我担心的是,在构建时 Fabric 运行一个脚本,该脚本应该在 Fabric 门户上自动上传 dSYM,我想知道这种双重上传是否会破坏某些内容。

最佳答案

我想我已经发现了这个问题,这可能是由于 iXguard 生成的 dSYM 造成的,因为它的结构与 Xcode 生成的结构不同。 在存档的 dSYM 文件夹中,您会发现类似的内容:

dSYM
    |
    |->ThirdPartyLib1.dSYM
    |->ThirdPartyLib2.dSYM
    |->MyApp.dSYM
    |->ThirdPartyLib3.dSYM

MyApp.dSYM 的结构如下

MyApp.dSYM
        |
        |->Contents
                |
                |->Info.plist
                |->Resources
                        |
                        |->DWARF
                                |
                                |->MyApp

来自 iXguard 的有点困惑:

MyApp.dSYM
        |
        |->Contents
                |
                |->Info.plist
                |->Resources
                        |
                        |->DWARF
                                |
                                |->MyApp
                                |->ThirdPartyLib1
                                |->ThirdPartyLib2
                                |->ThirdPartyLib3

如果我上传 iXguard 文件,Crashlytics 不会将其识别为有效,如果我修改它并保持其原始结构,它就可以工作。

问题已解决。

我希望这可以帮助将来的人。

关于ios - Crashlytics 为混淆的应用程序手动上传 dSYM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52187750/

相关文章:

ios - 加载 View 或重新加载表格 View 时如何在 UITableview 中显示最后添加的单元格?

ios - RLMException : Can't persist property 'id' with incompatible type, 但不存在

ios - 无法在 Swift 中使用前置摄像头

ios - 更改 UITextField 中的文本布局

android - 如何将 firebase 身份验证与 Android 应用程序的 instagram 登录集成

javascript - javascript 简单的电子邮件混淆器可以工作吗?

android - Dexguard 作为公共(public) Maven 依赖项

ios - 无法使用 Firebase ML Kit 视觉文本检测器编译 iOS React Native 应用程序

ios - 如何使用 Firebase 分发 iOS 应用程序?

android - 是否可以调试混淆的 Android 应用程序?