通过查看生成的崩溃报告,我可以看到这个错误出现了很多。但是,很难说出是什么导致它失败:
Exception name: CALayer position contains NaN:
在我的代码中,我有一个 NSTimer,它在 X 延迟后删除了一个包含动画 CALayers
的自定义 MKAnnotation
。我猜我需要在调用 removeFromSuperView
之前调用 view.layer removeAllAnimations
。
目前,我只调用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
任何输入将不胜感激!
最佳答案
请检查您是否正在使用可能已应用约束的 View 中的动画。在这种情况下,可以创建 View 的快照并在该 View 上应用动画。完成后删除快照 View 。
[viewObject snapshotViewAfterScreenUpdates:YES];
关于ios - 调试 Firebase 崩溃报告 - CALayer 位置包含 NAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40295240/