Tag: Iwatch

使用CMPedometer的iWatch准确计算步数

Apple Watch Series 3具有大量传感器,处理速度显着提高,这使其成为功能强大的机器,可以比以前的Watch版本更好地跟踪和评估您的健身数据。 我最近正在研究计步器类型应用程序的实现,在该应用程序中,我必须准确确定iWatch用户采取的步骤。 对于此用例,我决定使用Core Motion框架的CMPedometer。 CMPedometer基本上让您跟踪: 步数 行驶距离 根据爬了多少楼梯的楼层数 你走多快或多慢 iWatch跟踪此信息的方式是通过消耗iPhone中集成的加速度计,陀螺仪,磁力计和指南针生成的数据。 CMPedometer是Core Motion框架的一部分,该框架使您可以访问iPhone 5S及更高版本上的内置运动处理器。 它可以处理从集成的加速度计,陀螺仪,磁力计和气压计生成数据(尽管iPhone 6提供了气压计)。 iWatch处理器始终跟踪此数据并临时存储以供使用。 请务必注意,Core Motion只能在任何时间存储当前的7天时间段。 开发健身应用程序的任何人都可以使用Core Motion来同时使用iPhone和iWatch测量运动类型。 除了跑步,散步和骑自行车等常见活动外,iWatch还可以帮助跟踪众多其他户外运动。 CMP计 为了获取步数和有关行进距离的其他详细信息,我使用了计步器对象。 可以使用计步器对象查询历史数据的缓存信息。 除此之外,同一个对象使我们能够在处理数据时获取实时信息。 您可以使用计步器实例来调用以下类型的方法。 使用queryPedometerData(from:to:withHandler:)获取历史数据 使用startUpdates(from:withHandler:)放置观察者实时更新 让我们开始一个演示计算步骤,距离和楼层数(爬楼梯)的演示。 但是,让我们先谈谈隐私! CMPedometer更具体地使用了Apple认为私有数据的几种动作 。 在计步器上,您还将使用位置数据,因此隐私是一个更大的问题。 开发人员需要在info.plist中添加密钥NSMotionUsageDescription来征求用户的许可。 您可以在plist中添加密钥,如下所示: 步骤1:导入Core Motion 您需要先导入核心运动才能使用CMPedometer。 //导入CoreMotion 导入CoreMotion 步骤#2:创建CMPedometer的实例 让我们创建CMPedometer实例并需要变量 // MARK:-变量 fileprivate let计步器= CMPedometer() fileprivate var startDate:日期? =无 fileprivate […]