菜鸟教程小白 发表于 2022-12-12 15:16:38

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


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

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

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

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

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

<p>搜索我的项目没有发现 <code>SCNPhysicsBody _setOwner:</code> 的示例,所以我假设这是一个内部 SceneKit 方法?</p>

<p>有谁知道是什么导致了这样的崩溃?我将包括任何可能相关的方法(如果您告诉我它们可能是什么),但是创建对象的一系列方法很长,因此在这里盲目地复制它们似乎没有效率。另外,正如我所说,无论如何,崩溃似乎发生在“方法之间”。</p>

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

<p>谁能指出我正确的方向?即使只是知道在哪里进行调查的想法也将不胜感激。</p>

<p>感谢您帮助 SceneKit 新手!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>奇怪的是,答案最终只是在设备上运行应用程序。我永远无法弄清楚模拟器中出了什么问题,但是当我尝试在设备上运行它时,它在没有任何改变的情况下运行!</p>

<p>令人沮丧,试图为这种奇怪的事情寻找解决方案,但希望这对遇到类似情况的人有所帮助。</p>

<p><strong>如果您在使用 SceneKit 时遇到了这样的奇怪错误,请尝试在设备上运行它,然后再扯掉太多头发。</strong></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - SceneKit 在未知(内部?)方法中崩溃,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30183750/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30183750/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - SceneKit 在未知(内部?)方法中崩溃