CoreMotion 4 A high degree of measurement

※ iPhone6 not more terminals and do not work Swift 3.0 // // ViewController.swift // coremotion004 // // Created by akimach on 2016/08/24. // Copyright © 2016年 akimacho. All rights reserved. // import UIKit import CoreMotion class ViewController: UIViewController { var myCMAltimeter: CMAltimeter! var myAltimeter: UITextField! override func viewDidLoad() { super.viewDidLoad() // CMAltimeterを取得. myCMAltimeter = CMAltimeter() // CMAltimeterが利用できるか(iPhone5SではNoが返ってくる). let isAltimeter = CMAltimeter.isRelativeAltitudeAvailable() // UITextFieldを作成. myAltimeter = UITextField(frame: CGRect(x: 0, y: 0, width: 200, height: 30)) // 枠の線を表示. myAltimeter.borderStyle = UITextBorderStyle.roundedRect // UITextFieldの表示する位置. myAltimeter.layer.position = CGPoint(x:self.view.bounds.width/2,y:100) // Viewに追加. self.view.addSubview(myAltimeter) // Altimeterのモニタリングのスタート. if !isAltimeter { print("not use altimeter") return } myCMAltimeter.startRelativeAltitudeUpdates(to: OperationQueue.main, withHandler: {(altimeterData, error) in if let e = error { print(e.localizedDescription) } guard let data = altimeterData else { return } self.myAltimeter.text = "Altitude: \(data.relativeAltitude)" }) } } Swift 2.3 // // ViewController.swift // coremotion004 // // Created by akimach on 2016/08/24. // Copyright © 2016年 akimacho. All rights reserved. // import UIKit import CoreMotion class ViewController: UIViewController { var myCMAltimeter: CMAltimeter! var myAltimeter: UITextField! override func viewDidLoad() { super.viewDidLoad() // CMAltimeterを取得. myCMAltimeter = CMAltimeter() // CMAltimeterが利用できるか(iPhone5SではNoが返ってくる). let isAltimeter = CMAltimeter.isRelativeAltitudeAvailable() // UITextFieldを作成. myAltimeter = UITextField(frame: CGRectMake(0,0,200,30)) // 枠の線を表示. myAltimeter.borderStyle = UITextBorderStyle.RoundedRect // UITextFieldの表示する位置. myAltimeter.layer.position = CGPoint(x:self.view.bounds.width/2,y:100) // Viewに追加. self.view.addSubview(myAltimeter) // Altimeterのモニタリングのスタート. if !isAltimeter { print("not use altimeter") return } myCMAltimeter.startRelativeAltitudeUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {(altimeterData, error) in if let e = error { print(e.localizedDescription) } guard let data = altimeterData else { return } self.myAltimeter.text = "Altitude: \(data.relativeAltitude)" }) } } 2.3と3.0の差分 CGRectMake(CGFloat, CGFloat, CGFloat, CGFloat)からCGRect(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat)に変更 UITextBorderStyle.RoundedRectからUITextBorderStyle.roundedRectに変更 CMAltimeter.startRelativeAltitudeUpdatesToQueue(NSOperationQueue, withHandler: CMAltitudeHandler)からCMAltimeter.startRelativeAltitudeUpdates(to: OperationQueue, withHandler: CMAltitudeHandler)に変更 NSOperationQueue.mainQueue()からOperationQueue.mainに変更

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.