iOS ARKit状态(cameraDidChangeTrackingState)处于初始化状态,不';t轨道

iOS ARKit状态(cameraDidChangeTrackingState)处于初始化状态,不';t轨道,ios,arkit,Ios,Arkit,提前为新问题道歉(在其他地方找不到),但是有人在初始化任何和/或所有ARKit演示时遇到问题吗 例如,默认/普通应用程序—创建空ARKit项目时得到的内容。我看到的是飞船在默认视口上方悬停,当我平移时,它在视口中几乎居中,在空间中不固定,我无法在飞船上方或侧面移动。当我查看CameradChangeTrackingState中的camera state属性时,它会显示“受限/正在初始化,但不会从此更改。我觉得我一定缺少了一些明显的内容,例如权限或其他设备级别的设置 func session(_

提前为新问题道歉(在其他地方找不到),但是有人在初始化任何和/或所有ARKit演示时遇到问题吗

例如,默认/普通应用程序—创建空ARKit项目时得到的内容。我看到的是飞船在默认视口上方悬停,当我平移时,它在视口中几乎居中,在空间中不固定,我无法在飞船上方或侧面移动。当我查看CameradChangeTrackingState中的camera state属性时,它会显示“受限/正在初始化,但不会从此更改。我觉得我一定缺少了一些明显的内容,例如权限或其他设备级别的设置

func session(_ session: ARSession, cameraDidChangeTrackingState camera: ARCamera) {
    switch camera.trackingState {
    case .notAvailable:
        print("Tracking: not available: \(camera.trackingState)")
    case .limited(let reason):
        print("Tracking limited: \(reason)") <-- only gets here, with "initializing"
    case .normal:
        print("tracking normal: \(camera.trackingState)")
    }
}
func会话(会话:ARSession,CameradChangeTrackingState摄像机:ARCamera){
切换摄像头.trackingState{
案例。不可用:
打印(“跟踪:不可用:\(camera.trackingState)”)
案例有限(让理由):

打印(“跟踪限制:\(原因)”)您需要将以下代码行添加到
viewDidLoad()


这将允许ARKit场景开始跟踪曲面。

尽管看起来很奇怪,但只要重新启动手机就可以修复我看到的所有应用程序上的问题。我不知道出了什么问题,也不知道为什么。

我希望是这样,但它没有改变任何东西。不过,谢谢。该方法打印的原因是什么?报告说“初始化",也许我应该在帖子的正文中更明确一些。根据我下面的回答,重启设备后问题就消失了。好吧,这确实是一个奇怪的问题,但你最终解决了它!值得一提的是,我发生了类似的事情,解决方案是相同的。它从未转换到正常跟踪。也许这是他们会解决一些问题,但最好监控时间并通知正在发生的事情。我认为您可以验证您的答案,因为它在ios 14.2、iPhone SE:)上仍然适用于我
let configuration = ARWorldTrackingConfiguration()
    configuration.planeDetection = .horizontal
sceneView.session.run(configuration)