gpt4 book ai didi

ios - SceneKit 在未知(内部?)方法中崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:00:07 25 4
gpt4 key购买 nike

我正在尝试将一些第三方 SceneKit 代码集成到我的应用程序中,但遇到了神秘的崩溃。奇怪的是,崩溃没有给出错误或登录 Xcode,堆栈跟踪只是“UIApplicationMain”。那里没有有用的信息。

该代码在我获得它的第三方应用程序中工作并且我已经批量复制它,所以我知道它一定是一些委托(delegate)调用或一些我没有包含的框架,等等。但这是我的第一个使用 SceneKit 的经验,所以我很难理解它可能是什么。

崩溃发生在用户点击屏幕并将新的 3D 对象添加到场景的事件期间。我已经断点了所有关联的方法,崩溃似乎发生在中间时间,大概是内部 SceneKit 功能,所以我无法查明它。

不过,我的 Crashlytics 报告确实包含了一些信息,我已将其包含在此处:

Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x00981ea8 _objc_empty_cache
1 SceneKit 0x015e0273 __28-[SCNPhysicsBody _setOwner:]_block_invoke + 214
2 SceneKit 0x016b05b5 C3DTransactionFlush + 2014
3 CoreFoundation 0x00bff86e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
4 CoreFoundation 0x00bff7b0 __CFRunLoopDoObservers + 400
5 CoreFoundation 0x00bf51ea __CFRunLoopRun + 1226
6 CoreFoundation 0x00bf4a5b CFRunLoopRunSpecific + 443
7 CoreFoundation 0x00bf488b CFRunLoopRunInMode + 123
8 GraphicsServices 0x043042c9 GSEventRunModal + 192
9 GraphicsServices 0x04304106 GSEventRun + 104
10 UIKit 0x01b99106 UIApplicationMain + 1526
11 SW LiveSheet 0x0007888a main (main.m:14)
12 libdyld.dylib 0x04e61ac9 start + 1

搜索我的项目没有找到 SCNPhysicsBody _setOwner: 的示例,所以我假设这是一个内部 SceneKit 方法?

有谁知道可能导致这种崩溃的原因是什么?我将包括任何可能相关的方法(如果你告诉我它们可能是什么),但是创建对象的一系列方法非常长,因此盲目地将其全部复制到这里似乎没有什么成效。另外,正如我所说,崩溃似乎无论如何都发生在“方法之间”。

有人知道这个错误吗?还是我可能会犯任何常见的“开始使用 SceneKit”错误,这可能会导致这种情况?我知道代码有效,因为它在另一个项目中有效,这只是翻译中丢失了什么的问题。此外,在点击开始添加新对象的过程之前,场景确实加载成功。

谁能指出我正确的方向?即使只是关于在哪里调查的想法,我们也将不胜感激。

感谢您帮助 SceneKit 新手!

最佳答案

奇怪的是,答案最终只是在设备上运行该应用程序。我永远无法弄清楚模拟器中出了什么问题,但是当我尝试在设备上运行它时,它无需任何更改就可以正常工作!

令人沮丧的是,试图为这种奇怪的事情寻找解决方案,但希望这能帮助任何经历过类似事情的人。

如果您正在使用 SceneKit 做某事并且遇到这样的奇怪错误,请尝试在设备上运行它,然后再撕掉太多头发。

关于ios - SceneKit 在未知(内部?)方法中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30183750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com