2017-10-28 3 views
0

現在、Deployment Target 10.2を使用してアプリケーションを作成しています。
私はViewControllerAとViewControllerBを利用できます。
すべてのユーザーがViewControllerAを表示できます。
iOS 11ユーザーがViewController Bを表示することを許可します。
ViewController AのARをタップすると、処理がiOS 10とiOS 11に分割されます。
次のコードを記述しています。
iOS 11ユーザがDeployment Target 10.2でARSCNViewを表示する方法はありますか?

@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") 
    } 
} 

Deplooyment Target 10.2。
iOS 11のユーザーがViewController AのボタンARをタップすると、iOS 11のユーザーはViewController Bに移動します。
次に、iOS 11のユーザーがViewController Bに移動した後、ARSCNView 。
ただし、次のエラーが表示されます。
- 私は11.0にDepoyment目標を設定した場合はエラー
ARSCNView iOSの11.0前
enter image description here

、上記のエラーが表示されません。
ただし、Depoyment Target 11を設定すると、iOS 10ユーザーが自分のアプリケーションをダウンロードできないと思います。

質問
iOS 11ユーザは、Deployment Target 10.2でARSCNViewを表示する方法はありますか?

- 追加のメモ。
xcode9.0.1
swift4
iPhoneSEとiPhone7。次のように

ViewControllerBのコードです。

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 
    } 


答えて

0

ARSCNViewは、iOSの11.0以降からサポートされています。

その可用性が今までその前のバージョンのために言及されていません。

ストーリーボード

コードを使用してのではなく、それを追加します。その後方には対応していない - そして、そのは明らかに

iOS版11のための新機能が故に、あなたの質問に対する答えがあると述べました。 しかし、必要に応じて、SceneKitをfallbackとして使用することができます。 コードとiOSのバージョンチェックを使用してARSCNViewをプロジェクトに追加します。

if #available(iOS 11.0, *) { 
    // add ARKit to your view 
} else { 
    // add SceneKit to your view 
} 
関連する問題