我根据http://www.raywenderlich.com/97944/make-app-like-runkeeper-swift-part-1上的在线教程撰写正在运行的应用。 在本教程中,使用" distanceFromLocation"从最近记录的两个位置计算用户自开始以来运行的距离。 CLLocation中的方法。然而,在CMPedometer中,还有一个可以直接检索的距离数据。我应该使用哪一个?为什么?
由于
答案 0 :(得分:1)
CMPedometer
依靠现代iPhone中内置的运动跟踪芯片来测量设备所有者所经历的步数和距离。它能够估计使用运动数据所采取的步数,并使用步数和估计的步幅来推断用户行进的距离。如果距离估计值足以满足您的需求,那么CMPedometer
是一种简单,省电的跟踪行程距离的解决方案。
另一方面,如果您希望报告的距离尽可能准确,则应使用CLLocation
并计算用户在锻炼时所经过的每个位置之间的距离。这需要更复杂的代码和准确的GPS信号。作为额外的好处,您将能够使用位置数据,例如,绘制用户在锻炼中跑步的地图。