訪問晴雨表以獲得相對高度
迅速
匯入 Core Motion 庫:
import CoreMotion
接下來,我們需要建立一個 CMAltimeter
物件,但常見的缺陷是在 viewDidLoad()
中建立它。如果以這種方式完成,當我們需要在其上呼叫方法時,將無法訪問高度計。然而,繼續在 viewDidLoad()
之前建立你的 CMAltimeter
物件:
let altimeter = CMAltimeter()
現在:
-
我們需要通過以下方法檢查
relativeAltitude
是否可用:CMAltimeter.isRelativeAltitudeAvailable
。 -
如果返回
true
,則可以使用startRelativeAltitudeUpdatesToQueue
開始監控高度變化 -
如果沒有錯誤,你應該能夠從
relativeAltitude
和壓力屬性中檢索資料。
下面給出了使用我們的晴雨表開始監控的按鈕操作的定義。
@IBAction func start(sender: AnyObject){
if CMAltimeter.isRelativeAltitudeAvailable() {
// 2
altimeter.startRelativeAltitudeUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: { data, error in
// 3
if (error == nil) {
println("Relative Altitude: \(data.relativeAltitude)")
println("Pressure: \(data.pressure)")
}
})
}