调试 Firebase 崩溃报告 - CALayer 位置包含 NAN

Posted

技术标签:

【中文标题】调试 Firebase 崩溃报告 - CALayer 位置包含 NAN【英文标题】:Debugging Firebase Crash Report - CALayer position contains NAN 【发布时间】:2016-10-27 22:32:21 【问题描述】:

通过查看生成的崩溃报告,我可以看到这个错误出现了很多。但是,真的很难说是什么导致它失败:

Exception name: CALayer position contains NaN:

在我的代码中,我有一个 NSTimer,它会在 X 延迟后删除包含动画 CALayers 的自定义 MKAnnotation。我猜我需要先调用view.layer removeAllAnimations,然后再调用removeFromSuperView

目前,我只打电话给removeFromSuperView

堆栈日志:

Exception name: CALayer position contains NaN: [nan 163.74]
__exceptionPreprocess + 1241536
objc_exception_throw + 34136
+[NSException raise:format:] + 1241348
CA::Layer::set_position(CA::Vec2<double> const&, bool) + 1101236
-[CALayer setPosition:] + 1101608
-[CALayer setFrame:] + 1103040
-[UIView(Geometry) setFrame:] + 39996
Mapbox (4306594984 + 60584)
Mapbox (4306593356 + 58956)
Mapbox (4306685072 + 150672)
Mapbox (4306682568 + 148168)
__NSFireDelayedPerform + 998556

任何意见将不胜感激!

【问题讨论】:

【参考方案1】:

请检查您是否在视图中使用了可能已应用约束的动画。在这种情况下,可以创建视图的快照并在该视图上应用动画。完成后移除快照视图。

[viewObject snapshotViewAfterScreenUpdates:YES];

【讨论】:

嗯.. 你怎么确定这是导致问题的原因? 朋友你好,我只是想分享一下约束的动画技术应用。问题可能不是由于这个原因。 :)

以上是关于调试 Firebase 崩溃报告 - CALayer 位置包含 NAN的主要内容,如果未能解决你的问题,请参考以下文章

Firebase crashlytics 不显示崩溃

Firebase Crashlytics 调试模式不在 ios 中发送报告

Firebase 崩溃报告上传错误

在 Android 中启用 Firebase 崩溃报告

Firebase Crashlytics 未报告崩溃

Firebase 崩溃报告如何初始化