訪問晴雨表以獲得相對高度

迅速

匯入 Core Motion 庫:

import CoreMotion

接下來,我們需要建立一個 CMAltimeter 物件,但常見的缺陷是在 viewDidLoad() 中建立它。如果以這種方式完成,當我們需要在其上呼叫方法時,將無法訪問高度計。然而,繼續在 viewDidLoad() 之前建立你的 CMAltimeter 物件:

let altimeter = CMAltimeter()

現在:

  1. 我們需要通過以下方法檢查 relativeAltitude 是否可用:CMAltimeter.isRelativeAltitudeAvailable

  2. 如果返回 true,則可以使用 startRelativeAltitudeUpdatesToQueue 開始監控高度變化

  3. 如果沒有錯誤,你應該能夠從 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)")
        }
    })
}