Swiftで加速度センサの値を表示する
iPhone6sの加速度センサで取得した値をラベルに表示するサンプルです。ほぼこちらのコードそのままです。こちらのサイトは機能ごとにシンプルなコードを紹介していて、Swiftを用いたiOSアプリ制作を勉強するのに最適です。今回はSwiftの仕様の変更があったようで、こちらを参考に若干修正しています。
動作環境 : iPhone6s iOS9.2
開発環境 : XCode7.2
// // ViewController.swift // AccelerometerSample // import UIKit import CoreMotion class ViewController: UIViewController { var myMotionManager: CMMotionManager! // ストーリーボードを使ってプロパティを作成 @IBOutlet weak var xValue: UILabel! @IBOutlet weak var yValue: UILabel! @IBOutlet weak var zValue: UILabel! override func viewDidLoad() { super.viewDidLoad() myMotionManager = CMMotionManager() // 加速度計の更新周期を設定 myMotionManager.accelerometerUpdateInterval = 0.1 // 加速度取得 // Handlerに渡す引数はオプショナルとする。 myMotionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {(accelerometerData:CMAccelerometerData?, error:NSError?) -> Void in // オプショナルとして渡されたデータは!でアンラップする self.xValue.text = "x=\(accelerometerData!.acceleration.x)" self.yValue.text = "y=\(accelerometerData!.acceleration.y)" self.zValue.text = "z=\(accelerometerData!.acceleration.z)" }) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }