Pour obtenir l'orientation du téléphone dans l'espace (attitude), la bibliothèque Core Motion combine les données du gyroscope et de l'accéléromètre.
Les données sur l'attitude sont disponibles à partir de la classe CMMotionManager. Cette classe peut également fournir d'autres données, par exemple l'accélération, la rotation et la position par rapport au nord magnétique.
Voici les étapes à réaliser pour accéder aux données sur l'attitude.
import CoreMotion
Gardez en tête qu'une application mobile ne doit avoir qu'une instance de CMMotionManager sans quoi, il pourrait y avoir de la latence dans la réception des informations.
var cmMotionManager = CMMotionManager()
if cmMotionManager.isDeviceMotionAvailable {
...
}
cmMotionManager.deviceMotionUpdateInterval = 0.03
cmMotionManager.startDeviceMotionUpdates(to: .main) { (data, error) in
if let error {
print("Erreur de capture : \(error.localizedDescription)")
return
}
// s'il y a des données à traiter
if let attitude = data?.attitude {
pitch = attitude.pitch
roll = attitude.roll
yaw = attitude.yaw
}
}
cmMotionManager.stopDeviceMotionUpdates()
▼Publicité