Получить данные датчика движения при использовании камеры в iOS - PullRequest
0 голосов
/ 28 мая 2018

Я хочу иметь возможность записывать данные с акселерометра и GPS, а также использовать камеру в своем приложении.Цель состоит в том, чтобы получить данные акселерометра и GPS в тот момент, когда была сделана фотография.Я могу получить доступ к датчикам и заставить их непрерывно записывать данные, но я не знаю, как заставить их остановить запись данных во время захвата изображения.Я использую Xcode 9 и Swift 4.

1 Ответ

0 голосов
/ 28 мая 2018
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

...