ARSessionConfiguration unresolved in Xcode 9 GM

牧云@^-^@ 提交于 2019-12-22 06:30:08

问题


I have created an ARKit project using a beta version of Xcode 9, which I was able to run on my real device without issues.
Yesterday, I upgraded to Xcode 9 GM, and without touching anything, Xcode shows multiple errors, saying it does not know ARSessionConfiguration i.e.:

Use of undeclared type 'ARSessionConfiguration'

and:

Use of undeclared type 'ARWorldTrackingSessionConfiguration'

...for this code:

let session = ARSession()
var sessionConfig: ARSessionConfiguration = ARWorldTrackingSessionConfiguration()

I have imported ARKit and am using the ARSCNViewDelegate in my ViewController.
When opening the project from the beta version of Xcode, it does not show the errors and I can again run the app on my phone.

Any idea how I can fix this?


回答1:


ARWorldTrackingSessionConfiguration has been deprecated and renamed to ARWorldTrackingConfiguration: See here

Also, ARSessionConfiguration has been deprecated and renamed to ARConfiguration, which is now an abstract base class.

Use AROrientationTrackingConfiguration when you don't want world tracking, instead of using a generic ARConfiguration. Thus:

let configuration = AROrientationTrackingConfiguration()

You can also check if world tracking is supported on a device:

if ARWorldTrackingConfiguration.isSupported {
   configuration = ARWorldTrackingConfiguration()
}
else  {
   configuration = AROrientationTrackingConfiguration()
} 



回答2:


In Xcode 9 GM, looks like ARWorldTrackingSessionConfiguration has been renamed to ARWorldTrackingConfiguration:

https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration

Reference to this change:

https://github.com/markdaws/arkit-by-example/issues/7

ARSessionConfiguration has been renamed to ARConfiguration:

https://developer.apple.com/documentation/arkit/arconfiguration



来源:https://stackoverflow.com/questions/46320198/arsessionconfiguration-unresolved-in-xcode-9-gm

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!