Crashlytics 为混淆的应用程序手动上传 dSYM
Crashlytics upload dSYM manually for obfuscated application
我已将 crashlytics 集成到使用 ixguard 作为混淆工具的应用程序中。在非混淆版本上使用模拟器进行建议的测试工作正常。
要对正确混淆的应用程序崩溃日志进行去符号化,需要一个不同的 dSYM 文件。这个新的 dSYM 是由混淆工具提供的,我使用 firebase 门户上传它。
在 firebase 控制台中,我可以看到我通过使应用程序崩溃而生成的一些崩溃日志,但它们仍然需要正确的 dSYM(必需)。好像没有考虑新的dSYM
通过 运行 dwarfdump -u Obfuscated.BS.dSYM
我可以清楚地看到列表中存在所需的 UUID,因此它们应该匹配。
我担心的是,在构建时 Fabric 运行一个脚本,该脚本应该在 Fabric 门户上自动上传 dSYM,我想知道这种双重上传是否会破坏某些东西。
来自 Fabric 和 Firebase 的 Mike。我们不支持 iXGuard。在 dSYM 丢失后上传它们不会造成任何问题。我的预感是 iXGuard 正在做一些我们没有预料到的事情,因为我们没有对它的支持。
我想我已经找到问题了,这可能是由于 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 不会将其识别为有效,如果我修改它以保持原始结构,它就可以工作。
问题已解决。
我希望这对以后的人有所帮助。
我已将 crashlytics 集成到使用 ixguard 作为混淆工具的应用程序中。在非混淆版本上使用模拟器进行建议的测试工作正常。
要对正确混淆的应用程序崩溃日志进行去符号化,需要一个不同的 dSYM 文件。这个新的 dSYM 是由混淆工具提供的,我使用 firebase 门户上传它。
在 firebase 控制台中,我可以看到我通过使应用程序崩溃而生成的一些崩溃日志,但它们仍然需要正确的 dSYM(必需)。好像没有考虑新的dSYM
通过 运行 dwarfdump -u Obfuscated.BS.dSYM
我可以清楚地看到列表中存在所需的 UUID,因此它们应该匹配。
我担心的是,在构建时 Fabric 运行一个脚本,该脚本应该在 Fabric 门户上自动上传 dSYM,我想知道这种双重上传是否会破坏某些东西。
来自 Fabric 和 Firebase 的 Mike。我们不支持 iXGuard。在 dSYM 丢失后上传它们不会造成任何问题。我的预感是 iXGuard 正在做一些我们没有预料到的事情,因为我们没有对它的支持。
我想我已经找到问题了,这可能是由于 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 不会将其识别为有效,如果我修改它以保持原始结构,它就可以工作。
问题已解决。
我希望这对以后的人有所帮助。