2

I am Using Xcode 9 Beta and Swift 4.

Creating a Single View Application. How can I use argument reality feature in my Single Application View? This is my Code. There is no any error in that. but I can't get any result on my scene.

import UIKit
import ARKit
import SceneKit

class ViewController: UIViewController {

@IBOutlet weak var scaneView: ARSCNView!
override func viewDidLoad() {
    super.viewDidLoad()

    let scene = SCNScene(named: "art.scnassets/ship.scn")!

    scaneView.scene = scene
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    let configuration = ARWorldTrackingSessionConfiguration()

    scaneView.session.run(configuration)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    scaneView.session.pause()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

}
Arjun Yadav
  • 1,369
  • 1
  • 10
  • 23

1 Answers1

5

You are missing delegate method ARSCNViewDelegate I think this code working properly and show the result on your scene view

 import UIKit
 import ARKit
 import SceneKit

class ViewController: UIViewController, ARSCNViewDelegate {

@IBOutlet weak var sceneView: ARSCNView!

override func viewDidLoad() {
    super.viewDidLoad()

    sceneView.delegate = self

    sceneView.showsStatistics = true

    let scene = SCNScene(named: "art.scnassets/ship.scn")!

    sceneView.scene = scene
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    let configuration = ARWorldTrackingSessionConfiguration()

    sceneView.session.run(configuration)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    sceneView.session.pause()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

}

}
Raksha Saini
  • 604
  • 12
  • 28