如何在使用M7 Co处理器的iOS设备中计算行驶距离、速度和持续时间?
我已经参考了苹果的CMMotionActivityManager文档https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMMotionActivityManager_class/Reference/Reference.html#//apple_ref/doc/uid/TP40013503
它提供了对设备存储的运动数据的访问,我们得到的数据是这样的:
CMMotionActivity@14074.912282,<;开始日期,2014年03月03日10:09:40
+0000,置信度,1,未知,0,静止,0,步行,1,跑步,0,汽车,0>;
CMMotionActivity@14077.466468,<;开始日期,2014年03月03日10:09:43
+0000,置信度,0,未知,0,静止,0,步行,0,跑步,1,汽车,0>;
CMMotionActivity@14080.024116,<;开始日期,2014年03月03日10:09:46
+0000,置信度,1,未知,0,静止,0,步行,0,跑步,1,汽车,0>;
CMMotionActivity@14082.582084,<;开始日期,2014年03月03日10:09:48
+0000,置信度,2,未知,0,静止,0,步行,0,跑步,1,汽车,0>;
因此,在不使用GPS/仅依赖M7数据的情况下,我可以计算(例如跑步)行驶距离、跑步持续时间、速度等。
CMMotionActivity
类仅提供有关用户运动活动类型的信息。iOS运动框架在硬件和软件API之间提供抽象,因此无论设备是否配备M7,您都应该使用相同的API:CMMotionManager。
祝你好运!