iOS ARKit状态(cameraDidChangeTrackingState)陷入初始化,不跟踪

时间:2017-10-23 01:17:10

标签: ios arkit

提前为newb问题道歉(在SO上的其他地方找不到它),但是有没有人在让任何和/或所有ARKit演示初始化时遇到问题?

以默认/ vanilla应用程序为例 - 您在创建空ARKit项目时获得的内容。我看到的是悬停在默认视口上方的船,当我平移时,它几乎停留在视口中心并且没有固定在太空中,我无法移动到太空船的上方或侧面。当我在cameraDidChangeTrackingState中查看相机状态属性时,它显示“有限/初始化,但从不改变。我觉得我必须遗漏一些明显的东西,比如可能是权利 - 或其他一些设备级别设置?

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)")
    }
}

对于它的价值,我使用的是Xcode 9.0和iPhone 8。

谢谢!

2 个答案:

答案 0 :(得分:2)

看起来很奇怪,只需重新启动手机即可修复我看到的所有应用上的问题。我不知道出了什么问题或为什么会这样。

答案 1 :(得分:0)

您必须将以下代码行添加到WriteBatch

viewDidLoad()

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