我在我的iOS应用中将Bitrise用作CI / CD。
在工作流程中,有一个步骤通过Fabric发布应用程序。
当发生崩溃时,我在仪表板上只能看到的是堆栈上有许多__hidden
步骤。
我猜这是由于某些符号丢失而引起的,但Fabric并没有说任何符号都丢失了。我尝试以任何方式手动添加它们,但是仍然看到__hidden
崩溃。
关于如何解决此问题的任何想法?
答案 0 :(得分:0)
查看Apple的document描述隐藏符号的信息。查找“将“隐藏的”符号名称转换回其原始名称”部分。
这里的问题不是Crashlytics缺少符号信息。他们从字面上告诉他们您的符号的符号信息就是__hidden#xyz
。这导致您在这里看到的混淆。如Apple文档所述,可以对这些符号进行模糊处理,但是我不确定Crashlytics是否支持此符号。他们有一点信息here。
我的理解是,当您选择在应用程序提交过程中不与Apple共享符号信息时,就会发生这种情况。如果我是对的,那么一旦您执行了此操作,就无法更改,除非您发布新版本的应用程序。
更新:
我在dsymutil
中发现了一个选项,可以在这种情况下对dSYM进行模糊化处理。
--symbol-map=*bcsymbolmap*
这将使用去混淆的符号在适当位置修改dSYM。将dSYM上传到Crashlytics应该会产生预期的符号表示。但是,由于存在缓存,您可能需要首先与他们联系,以确保此更改生效。