Skip to content

Instantly share code, notes, and snippets.

@Plnda
Last active September 1, 2020 11:12
Show Gist options
  • Save Plnda/d690fbd471c02cbe7086fdd8eb1d6f86 to your computer and use it in GitHub Desktop.
Save Plnda/d690fbd471c02cbe7086fdd8eb1d6f86 to your computer and use it in GitHub Desktop.
Motion
class MotionManager: ObservableObject {
@Published var pitch: Double = 0.0
@Published var roll: Double = 0.0
private var manager: CMMotionManager
static var shared = MotionManager()
init() {
self.manager = CMMotionManager()
self.manager.deviceMotionUpdateInterval = 1.0 / Double(UIScreen.main.maximumFramesPerSecond)
self.manager.startDeviceMotionUpdates(to: .main) { (data, error) in
if let _ = error {
return
}
if let data = data {
self.pitch = data.attitude.pitch
self.roll = data.attitude.roll
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment