将用户的步数重置为0

时间:2019-07-14 12:19:34

标签: swift pedometer

我正在研究带有计步器功能的医疗保健应用程序。我正在使用CMPedometer类开始计步,但是我正在寻找一种方法,可以将午夜后将计步器的“步数”设置为0,并在第二天(检测到运动时)开始计步。依此类推。

我曾尝试弄乱NSDate类,但实际上很难像上面解释的那样将它们连接起来。

    myPedometer = CMPedometer()

    myPedometer.startUpdates(from: NSDate() as Date, withHandler: { (pedometerData, error) in
        if let e = error {
            print(e.localizedDescription)
            return
        }
        guard let data = pedometerData else {
            return
        }
        let myStep = data.numberOfSteps
        self.stepLabel.text = "\(myStep)"


        var date = NSDate

        if date = 24:00  {
            self.myPedometer.stopUpdates()
        }

即使我尝试使用if语句停止计步器更新,我也不知道每天的步数可能会如何重置。

此外,X-Code会继续向最后一个if语句发送错误消息,说“无法将'int'类型的值分配给'NSDate.Type'类型。

1 个答案:

答案 0 :(得分:0)

使用此功能获取2个日期之间的步数。

func queryPedometerData(from start: Date, 
                     to end: Date, 
            withHandler handler: @escaping CMPedometerHandler)

更多细节请参考教程:https://medium.com/simform-engineering/count-steps-with-cmpedometer-on-iwatch-94b61bc3b87e