【发布时间】:2016-06-20 01:31:44
【问题描述】:
我正在努力获取设备在我们手中并移动时的加速度计数据。我已经完成了一个获取加速度计运动和旋转数据的工作程序。接下来是,我想记录它并通过电子邮件分享。我正在阅读有关 recordAccelerometerForDuration 的信息,但我不知道如何使用它来记录加速度计数据并通过电子邮件分享。我可以通过这个链接看到苹果开发者的帮助https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMSensorRecorder_class/
有人可以分享一些示例如何记录价值并在邮件中分享以实现两者吗?
更新
我准备了一个用于记录加速度计的示例代码,如下所示,
@IBAction func startRecorderAction() {
guard CMSensorRecorder.isAccelerometerRecordingAvailable() else {
print("Accelerometer data recording is not available")
return
}
let recorder = CMSensorRecorder()
let duration = 3.0
if CMSensorRecorder.isAuthorizedForRecording(){
print("SensorRecorder authorized")
}else{
print("SensorRecorder not authorized")
}
recorder.recordAccelerometerForDuration(duration)
NSOperationQueue().addOperationWithBlock{[unowned recorder] in
NSThread.sleepForTimeInterval(duration)
let now = NSDate()
let past = now.dateByAddingTimeInterval(-(duration))
let data = recorder.accelerometerDataFromDate(past, toDate: now)
let accelerationData: [CMAcceleration] = data!.map {
//every $0 is CMRecordedAccelerometerData
$0.acceleration
}
print(accelerationData)
}
}
当我运行该应用程序时,它显示“加速度计数据记录不可用”。但我使用的是 iPhone 6 和 iOS 9.3.1 版本。那么为什么这会显示错误,因为加速度计记录不可用,以及如何摆脱这个? 有人可以帮忙吗?
【问题讨论】: