【问题标题】:How to calculate distance travelled , speed , duration in iOS devices with M7 Co-processor?如何使用 M7 协处理器计算 iOS 设备的行驶距离、速度、持续时间?
【发布时间】:2025-12-15 05:20:05
【问题描述】:

如何在带有M7协处理器的iOS设备中计算行驶距离、速度、持续时间?

我参考了苹果的 CMMotionActivityManager 文档 https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMMotionActivityManager_class/Reference/Reference.html#//apple_ref/doc/uid/TP40013503

提供对设备存储的运动数据的访问,我们得到的数据是这样的:

CMMotionActivity @ 14074.912282,<startDate,20140303 10:09:40

+0000,confidence,1,unknown,0,stationary,0,walking,1,running,0,automotive,0>

CMMotionActivity @ 14077.466468,<startDate,20140303 10:09:43

+0000,confidence,0,unknown,0,stationary,0,walking,0,running,1,automotive,0>

CMMotionActivity @ 14080.024116,<startDate,20140303 10:09:46

+0000,confidence,1,unknown,0,stationary,0,walking,0,running,1,automotive,0>

CMMotionActivity @ 14082.582084,<startDate,20140303 10:09:48

+0000,confidence,2,unknown,0,stationary,0,walking,0,running,1,automotive,0>

因此,我可以在不使用 GPS/仅依靠 M7 数据的情况下计算(例如跑步)行驶距离、跑步持续时间、速度等。

【问题讨论】:

    标签: ios ios7 core-motion apple-m7


    【解决方案1】:

    CMMotionActivity 类仅提供有关用户运动活动类型的信息。 iOS 运动框架提供了硬件和软件 API 之间的抽象,因此无论设备是否配备 M7,您都应该使用相同的 API:CMMotionManager

    祝你好运!

    【讨论】: