首页 > 解决方案 > 从 Xcode10 部署到 iOS11 设备时,ARWorldTrackingConfiguration 不起作用

问题描述

开发基于 ARWorldTrackingConfiguration 的概念代码。从 iOS11.4 上的 Xcode10b1 部署时似乎无法正常工作

特别是代表:

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? 
{
   //relevant code here
}

根本没有被调用。当从 Xcode9.4 在同一设备上部署时,相同的代码运行没有任何问题。从 Xcode10 在 iOS12 上部署时也没有任何问题。下面是用于配置和初始化 ARConfiguration 的相关代码。

func resetTrackingConfiguration() {
    guard let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "Photos", bundle: nil) else { return }

  var configuration:ARConfiguration!
    if #available(iOS 12.0, *) {
        configuration = ARImageTrackingConfiguration()
        (configuration as! ARImageTrackingConfiguration).trackingImages = referenceImages
        (configuration as! ARImageTrackingConfiguration).maximumNumberOfTrackedImages = referenceImages.count
    } else {
        configuration = ARWorldTrackingConfiguration()
        (configuration as! ARWorldTrackingConfiguration).detectionImages = referenceImages
    }

    let options: ARSession.RunOptions = [.resetTracking, .removeExistingAnchors]
    sceneView.session.run(configuration, options: options)
}

标签: iosswiftxcodearkitarcamera

解决方案


弄清楚了。似乎 Xcode10 存在导致无法正确加载资源的错误。更多在这里


推荐阅读