2017-06-06 7 views
1

Ich versuche ARSession zu erstellen, ARKit mit Xcode 9. Aber es scheint nicht richtig zu funktionieren.iOS 11: ARKit - Problem mit ARSession

-Code habe ich versucht habe, ist:

override func viewDidLoad() { 
     super.viewDidLoad() 

    // configure session 
    let configuration = ARWorldTrackingSessionConfiguration() 
    configuration.planeDetection = .horizontal 

    // run session 
    sceneView.session.run(configuration) 
} 

Kann jemand helfen? Code ist fast korrekt gemäß Apple-Dokumentation.

+0

Auf welchem ​​Gerät versuchen Sie dies? Was macht [ARSessionConfiguration. isSupported] (https://developer.apple.com/documentation/arkit/arssessionconfiguration/2867255-issupported) zurück? – vrwim

+0

@vrwim Ich habe versucht auf meinem iPad mini 2 (A7-Chip) und ARSessionConfiguration wird tatsächlich unterstützt. ARWorldTrackingSessionConfiguration ist jedoch nicht und Sie können nicht frei gegeneinander tauschen .. es stürzt die App ab – kernelpanic

+0

Ich habe versucht, in iPad Air mit ARSessionConfiguration ausgeführt und es stürzt immer noch ab. –

Antwort

0

Sie haben Probleme mit Lebenszyklus-View-Controller. Laut Apple-Richtlinie für ARSession, kann Session nach der Ansicht vollständig geladen werden. Ich meine, die Benutzeransicht wird angezeigt, um Ihre Sitzung auszuführen.

Hier Apfel Dokument für das gleiche: Building a Basic AR Experience

Auch sehen Probe nach.

enter image description here

0

ARWorldTrackingSessionConfiguration unterstützt nur iOS-Geräte mit einem A9-Prozessor oder höher.

Per Apple-doc:

  • auf iOS-Geräten mit einem A9-Prozessor oder höher, die ARWorldTrackingSessionConfiguration Unterklasse bietet hochpräzise Bewegungsverfolgung und ermöglicht Funktionen, die Sie virtuelle Inhalte in Bezug auf realen Ort zu helfen -world Oberflächen.

  • Auf anderen von Arkit unterstützten Geräte, die ARSessionConfiguration Basis Klasse Grundbewegungsverfolgung bietet, die etwas weniger immersive AR Erfahrungen ermöglicht.

iPhone und Prozessoren:

iPhone 6 and iPhone 6 plus has A8 processor. 
iPhone SE, iPhone 6s, iPhone 6s plus has A9 processor. 
iPhone 7, iPhone 7plus has A10 processor 
0

Es gibt ein anderes Problem beta1 Fehler aufgrund iOS11 ist, iOS 11 Beta 1 Release Notes And Known Issues According To Apple

snapsot image

Das heißt, Sie benötigen ein iPhone 6S oder besser Arkit (ARSessionConfiguration) zum aktuellen Zeitpunkt zu verwenden. Bis zum iOS11 Beta2 Version ...

2017.07.13 Update

Mein iphone6 ​​hatte Update iOS11 beta3, und es kann ARWorldTrackingSessionConfiguration laufen, erstaunlich!

2017.09.07 Update

iphone6 ​​ARWorldTrackingConfiguration kürzlich in iOS11 Beta nicht laufen kann ...... :(

0

Sie müssen auch eine SCNScene initialisieren und fügen Sie es dem ARSCNView .

let scene = SCNScene() 
sceneView.scene = scene 

Ich mache das normalerweise, bevor ich die Sitzung auch aufstelle.