Momentan erstelle ich eine Anwendung mit Deployment Target 10.2.
Ich habe ViewControllerA und ViewControllerB verfügbar.
Alle Benutzer können ViewControllerA anzeigen.
Ich würde gerne iOS 11 Benutzer ViewController B anzeigen.
Durch Antippen der Schaltfläche AR von ViewController A, ist die Verarbeitung zwischen iOS 10 und iOS 11 aufgeteilt.
Ich schreibe den folgenden Code.
Gibt es eine Möglichkeit für iOS 11-Benutzer, ARSCNView mit Deployment Target 10.2 anzuzeigen?
@IBAction func goARCameraTapped(_ sender: UIButton) {
if (ProcessInfo.processInfo.operatingSystemVersion.majorVersion >= 11) {
self.performSegue(withIdentifier: "goAR", sender: self)
print("iOS11")
} else if (ProcessInfo.processInfo.operatingSystemVersion.majorVersion <= 10) {
print("iOS10")
}
}
Mit Entlastungsziel 10.2.
Wenn der Benutzer von iOS 11 die Schaltfläche AR von ViewController A antippt, möchte der Benutzer von iOS 11 diese in Viewcontroller B verschieben. Nachdem der Benutzer von iOS 11 zu ViewController B gewechselt ist, möchte ich die ARSCNView anzeigen .
Der folgende Fehler wird jedoch angezeigt.
- Fehler
ARSCNView vor iOS 11,0
Wenn ich Depoyment Ziel auf 11,0, der obige Fehler wird nicht angezeigt, eingestellt.
Allerdings, wenn ich Deployment Target 11 setze, denke ich, dass iOS 10 Benutzer meine Anwendung nicht herunterladen können.
■ Frage
Gibt es eine Möglichkeit für iOS 11-Benutzer, ARSCNView mit dem Einsatzziel 10.2 anzuzeigen?
-Zusätzliche Notizen.
xcode9.0.1
swift4
iPhoneSE und iPhone7.
Der Code von ViewControllerB ist wie folgt.
import UIKit
import ARkit
class ARViewController: UIViewController, ARSCNViewDelegate {
@IBOutlet weak var sceneView: ARSCNView!
let configuration = ARWorldTrackingConfiguration()
override func viewDidLoad() {
super.viewDidLoad()
setupSceneView()
}
func setupSceneView() {
self.sceneView.showsStatistics = true
self.sceneView.session.run(configuration)
self.sceneView.delegate = self
}