使用Bitrise在Crashlytics上发生_hidden崩溃-iOS应用

时间:2019-03-03 13:31:58

标签: ios crashlytics google-fabric dsym bitrise

我在我的iOS应用中将Bitrise用作CI / CD。 在工作流程中,有一个步骤通过Fabric发布应用程序。 当发生崩溃时,我在仪表板上只能看到的是堆栈上有许多__hidden步骤。 我猜这是由于某些符号丢失而引起的,但Fabric并没有说任何符号都丢失了。我尝试以任何方式手动添加它们,但是仍然看到__hidden崩溃。 关于如何解决此问题的任何想法?

这是我所得到的例子。 Fabric log

1 个答案:

答案 0 :(得分:0)

查看Apple的document描述隐藏符号的信息。查找“将“隐藏的”符号名称转换回其原始名称”部分。

这里的问题不是Crashlytics缺少符号信息。他们从字面上告诉他们您的符号的符号信息就是__hidden#xyz。这导致您在这里看到的混淆。如Apple文档所述,可以对这些符号进行模糊处理,但是我不确定Crashlytics是否支持此符号。他们有一点信息here

我的理解是,当您选择在应用程序提交过程中不与Apple共享符号信息时,就会发生这种情况。如果我是对的,那么一旦您执行了此操作,就无法更改,除非您发布新版本的应用程序。

更新:

我在dsymutil中发现了一个选项,可以在这种情况下对dSYM进行模糊化处理。

--symbol-map=*bcsymbolmap*

这将使用去混淆的符号在适当位置修改dSYM。将dSYM上传到Crashlytics应该会产生预期的符号表示。但是,由于存在缓存,您可能需要首先与他们联系,以确保此更改生效。