基于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)
}