在iOS中使用相机时获取运动传感器数据

时间:2018-05-28 16:47:56

标签: ios swift camera motion

我希望能够在我的应用程序中使用相机记录来自加速度计和GPS的数据。目标是在拍摄照片的确切时刻获取加速度计和GPS数据。我能够访问传感器并让它们连续记录数据,但我不知道如何让它们在捕获图像时停止记录数据。我正在使用Xcode 9和Swift 4。

1 个答案:

答案 0 :(得分:0)

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()您的最新数据将存储在motionUpdateslocationUpdates