let cm = CMMotionManager()
let lm = CLLocationManager()
var motionUpdates: CMDeviceMotion?
var locationUpdates: CLLocation?
cm.accelerometerUpdateInterval = 1
cm.startDeviceMotionUpdates(to: OperationQueue.current!) { (data, error) in
motionUpdates = data
}
lm = CLLocationManager()
lm.delegate = self
lm.stopUpdatingLocation()
lm.desiredAccuracy = kCLLocationAccuracyBest
lm.startUpdatingLocation()
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
locationUpdates = manager.location
}
// --------------------------
func stopMotionUpdates() {
cm.stopDeviceMotionUpdates()
}
func stopLocationUpdates() {
lm.stopUpdatingLocation()
}
Как только вы сделаете снимок, вы звоните stopLocationUpdates()
& stopMotionUpdates()
, и ваши самые последние данные будут сохранены в motionUpdates
и locationUpdates