我使用Xcode 9的测试版创建了一个ARKit
项目,我可以在我的真实设备上运行而没有问题。
昨天,我升级到Xcode 9 GM,没有触及任何内容,Xcode显示多个错误,说它不知道ARSessionConfiguration
,即:
使用未声明的类型' ARSessionConfiguration'
和
使用未声明的类型' ARWorldTrackingSessionConfiguration'
...代码:
let session = ARSession()
var sessionConfig: ARSessionConfiguration = ARWorldTrackingSessionConfiguration()
我已导入ARKit
并在我的ViewController中使用ARSCNViewDelegate
从Xcode的测试版打开项目时,它不会显示错误,我可以再次在手机上运行该应用程序。
知道如何解决这个问题吗?
答案 0 :(得分:16)
ARWorldTrackingSessionConfiguration
已弃用并重命名为ARWorldTrackingConfiguration
:See here
此外,ARSessionConfiguration
已被弃用并重命名为ARConfiguration
,现在是一个抽象基类。
当您不想要世界跟踪时使用AROrientationTrackingConfiguration,而不是使用通用的ARConfiguration。因此:
let configuration = AROrientationTrackingConfiguration()
您还可以检查设备是否支持全球跟踪:
if ARWorldTrackingConfiguration.isSupported {
configuration = ARWorldTrackingConfiguration()
}
else {
configuration = AROrientationTrackingConfiguration()
}
答案 1 :(得分:6)
在Xcode 9 GM中,看起来ARWorldTrackingSessionConfiguration已重命名为ARWorldTrackingConfiguration:
https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration
参考此更改:
https://github.com/markdaws/arkit-by-example/issues/7
ARSessionConfiguration已重命名为ARConfiguration:
https://developer.apple.com/documentation/arkit/arconfiguration