Apple Watch HealthKitManager在更新到watchOS 4.2.2后无法正常工作?

时间:2018-01-25 21:48:20

标签: ios swift apple-watch health-kit

我一直在阅读Apple Watch(系列2)的心率,但是,在昨天更新到OS4.2.2(并将iPhone 7更新到最新的操作系统,iOS 11.2.5)后,调用createHeartRateStreamingQuery( )从HealthKitManager停止在我的设备上工作。

代码没有改变,模拟器上仍然可以运行。作为参考,这里是代码(在模拟器中工作但在更新后在.running情况下的if-let语句中似乎无法在设备上工作)的调用:

func workoutSession(_ workoutSession : HKWorkoutSession, didChangeTo toState: HKWorkoutSessionState, from fromState: HKWorkoutSessionState, date: Date) {
    switch toState {
    case .running:
        guard let workoutStartDate = workoutStartDate else {
            print(workoutStartDate)
            return
        }
        if let query = healthKitManager.createHeartRateStreamingQuery(workoutStartDate) {
            self.heartRateQuery = query
            self.healthKitManager.heartRateDelegate = self
            healthKitManager.healthStore.execute(query)
        }
    case .ended:
        print("Workout ended")
        if let query = self.heartRateQuery {
            healthKitManager.healthStore.stop(query)
        }
    default:
        print("Other workout state")
    }
}

有没有人有任何想法?或者,自更新以来,还有其他人对Apple Watch / Healthkit有问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

现在情况正在发挥作用,我猜测它与我设定锻炼日期时有关。我在创建锻炼课程之前设定了锻炼日期。现在我正在创建锻炼课程之后这样做。这是我为可能的解决方案摸索的唯一实质性变化。