getBoundingBoxSize有时会崩溃

时间:2018-07-17 12:22:16

标签: swift crash scenekit exc-bad-access

select count(trans_mode) from tab where trans_mode='Web' COLLATE SQL_Latin1_General_CP1_CI_AS 几何体上使用getBoundingBoxSize时遇到一个奇怪的问题-有时会导致崩溃-SCNText。不知道为什么。我在主线程上使用它。

enter image description here

这是在iOS 12上发生的。有人可以帮我解决这个问题吗?

EXC_BAD_ACCESS (code=1)

2 个答案:

答案 0 :(得分:0)

您在Objective-C内存管理系统中崩溃,通常表明某种堆损坏。我猜想某些对象已经过早地释放,而对它的引用仍然存在。这是超常见的,通常称为悬空指针。

我建议您检查一下Instruments中的Zombies工具。它可以帮助发现此类错误。祝你好运!

答案 1 :(得分:0)

2.5年后的iOS 14.2中的SceneKit仍然无法解决此问题。据我所知,在至少渲染一次节点之后,才能在具有SCNText几何形状的节点上调用.boundingBox。我的猜测是,直到渲染循环和boundingBox无法检查其是否未初始化,某些东西才被初始化。

我的解决方法是将.boundingBox放入DispatchQueue.main.asyc {}块中的常见做法,以便(希望如此)已初始化节点和几何体。根据您的应用程序,这可能不可行。