如何检索 CMAccelerometerData 确切时间戳



我开发了一个iOS应用程序,可以从手机的加速度计和陀螺仪收集数据,它应该处理一些数据并将其发送到云端。

问题在于,例如CMAccelerometerData基于CMLogItem,它将时间戳存储为"自手机启动以来的时间量(以秒为单位"(苹果文档(。

为了找到纪元(自 1970 年 1 月 1 日以来的秒数(的实时时间,我尝试使用 NSProcessInfo((.systemUptime,但事实证明这个值在某些情况下并不准确,并给了我长达几个小时的偏移量!

在一些帖子中提到正常运行时间参数受系统睡眠的影响,这可能是这些偏移的问题(我必须提到,在调试时根本没有偏移(。

知道我如何获取CMLogItem的时间戳吗?(即使获得"足够接近"的时间戳也足够了,我可以跳过毫秒精度......

提前感谢!

如果我正确理解了你的问题,CMAccelerometerDataCMLogItem不是你需要处理的类型。

CMSensorRecorder.accelerometerData(from:to:)返回 CMSensorDataList ,这允许迭代CMRecordedAccelerometerData对象,每个对象都有startDate: Date参数。

此外,以下扩展将使样本迭代更容易: extension CMSensorDataList: Sequence { public func makeIterator() -> NSFastEnumerationIterator { return NSFastEnumerationIterator(self) } }

相关内容

  • 没有找到相关文章

最新更新