即使在将bitcode dSYM上传到fabric后,iOS Crashlytics崩溃日志也会显示_hidden

时间:2018-01-27 16:51:10

标签: ios crash-reports crashlytics bitcode

我已经在我们的应用程序中调查了相当长一段时间的崩溃,我仍然无法弄清楚为什么Crashlytics无法象征某些崩溃(3具体)。这些实际上是应用程序的当前主要崩溃,我们正在拼命寻找任何可能的提示。

我们的应用启用了bitcode,并选择将dSYM上传到Apple。我尝试阅读Crashlytics doc All about Missing dSYMs,从iTunesConnect手动下载dSYM zip,将其上传到fabric。 "隐藏"崩溃数量随后不断增长,问题是,我们从未在结构中发现缺少的dSYM警告,并且它没有显示我们正在尝试调查的应用版本fabric settings page中缺少dSYM。

堆栈跟踪如下: Crash stack trace

非常感谢任何帮助和建议!谢谢!

1 个答案:

答案 0 :(得分:0)

我无法告诉你为什么符号失败了。但是从查看你的崩溃报告中,我想到了一些事情,也许他们可以以某种方式帮助你。

崩溃发生在以某种方式使用UIWebView的闭包内。在使用javascript执行某些操作后,资源将被释放,然后在崩溃发生时。您可以查看此处调用的最后一个代码:

https://github.com/WebKit/webkit/blob/f43689c3ed50cd00bf76d5731983046b988e6efa/Source/WebCore/loader/cache/CachedResource.cpp

那里没有任何幻想。

我的猜测是,闭包的输入变量可以提前释放。即使你是盲人,没有工作符号,你也可以尝试找到启动JavaScript调用的闭包并检查这些条件,例如: [unowned self] in或类似的尝试将其传递给拥有者。这显然会导致内存泄漏,但您可以在发布之前对其进行测试。