iOS Accès au baromètre pour obtenir une altitude relative


Exemple

Rapide

Importez la bibliothèque Core Motion:

import CoreMotion

Ensuite, nous devons créer un objet CMAltimeter , mais un écueil courant consiste à le créer dans viewDidLoad() . Si c'est le cas, l'altimètre ne sera pas accessible lorsque nous aurons besoin d'appeler une méthode. Néanmoins, continuez et créez votre objet CMAltimeter juste avant viewDidLoad() :

let altimeter = CMAltimeter()

À présent:

  1. Nous devons vérifier si relativeAltitude est même disponible avec la méthode suivante: CMAltimeter.isRelativeAltitudeAvailable .

  2. Si cela retourne true , vous pouvez alors commencer à surveiller le changement d'altitude avec startRelativeAltitudeUpdatesToQueue

  3. S'il n'y a pas d'erreurs, vous devriez pouvoir récupérer des données à partir des propriétés relativeAltitude et pression.

Ci-dessous la définition d'une action de bouton pour commencer la surveillance avec notre baromètre.

@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)")
        }
    })
}