我找到了解决问题的方法:
在打开和关闭ARVC1并快速打开后,ARVC2我正在经历以前ARSession的闪烁ARSession。为了解决这个问题,我ARView在 my 中创建MainVC并将对它的引用传递给目标控制器,在那里我以编程方式设置arView约束。为避免使用以下ARAnchors选项传递 I 重置配置viewDidLoad:
arView.session.run(configuration, options: [.resetTracking,.removeExistingAnchors,.stopTrackedRaycasts])
它也有助于UINavigationController过渡(使其更平滑),因为ARSession在呈现视图之前进行了配置,并且它消除了在运行 new 时出现的黑色ARConfiguration闪光ARSession。
它还消除了我在快速关闭和打开ViewController包含ARView有时会导致应用程序崩溃时遇到的控制台错误(如下):
[会话]会话(0x160879b40):确实失败并出现错误:错误域=com.apple.arkit.error Code=102“所需传感器失败。” UserInfo={NSLocalizedFailureReason=传感器未能提供所需的输入。,NSUnderlyingError=0x283f959b0 {错误域=AVFoundationErrorDomain Code=-11800“操作无法完成” UserInfo={NSLocalizedFailureReason=发生未知错误(-12780),NSLocalizedDescription =操作无法完成,NSUnderlyingError=0x283efc8a0 {Error Domain=NSOSStatusErrorDomain Code=-12780 "(null)"}}},NSLocalizedRecoverySuggestion=确保应用程序具有所需的隐私设置。,NSLocalizedDescription=所需的传感器失败。} 2020-01-09 16:20:38.600835+0000 应用[573: