iOS Crashlytics 崩溃日志显示 _hidden,即使在将位码 dSYM 上传到 fabric 后也是如此

标签 ios crash-reports crashlytics bitcode

我已经调查我们应用中的崩溃问题很长时间了,但我仍然不明白为什么 Crashlytics 无法用符号表示某些崩溃(具体来说是 3 次)。这些实际上是应用程序当前的主要崩溃,我们正在拼命寻找任何可能的提示。

我们的应用程序启用了位码并选择将 dSYM 上传到 Apple。我试图通读 Crashlytics 文档 All about Missing dSYMs ,从 iTunesConnect 手动下载 dSYM zip,将其上传到 fabric。 “隐藏的”崩溃数之后不断增加,问题是,我们从未在 fabric 中收到 dSYM 丢失警告,并且它没有在 fabric settings page 中显示 dSYM 丢失。对于我们正在尝试调查的应用构建。

堆栈跟踪是这样的: Crash stack trace

任何帮助和建议将不胜感激!谢谢!

最佳答案

我无法告诉您符号化失败的原因。但是通过查看您的崩溃报告,我想到了一些事情,也许它们可以以某种方式帮助您。

崩溃发生在一个以某种方式使用 UIWebView 的闭包内。在用 javascript 做了一些事情之后,资源被释放,这就是崩溃发生的时候。您可以在此处查看最后调用的代码:

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

那里没什么特别的。

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

关于iOS Crashlytics 崩溃日志显示 _hidden,即使在将位码 dSYM 上传到 fabric 后也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48478097/

相关文章:

ios - 如何在 iOS 上使用 Xamarin 旋转文件中的图像

ios - 在 iOS 上安装 Firebase/Crashlytics NEDNSProxyProvider 网络扩展

javascript - 是什么导致我的网络应用程序在某些 Android 设备上停止运行?我如何检测?

swift - 游戏10分钟后崩溃

ios - 从 Fabric Crashlytics 迁移到 Firebase Crashlytics

ios - Flutter:Flutter Firebase Crashlytics 未针对 iOS 显示

ios - UITabBarItem 中的标题文本拥抱/字距调整 + 裁剪

ios - Cordova 插件 - 将方法附加到 AppDelegate

iOS,键盘预测栏可见性

ios8 - 如何跟踪来自 ios8 扩展应用程序的崩溃报告?