HKWorkoutSession并未将应用程序保留在Apple Watch前面

时间:2015-07-04 19:52:11

标签: watchkit apple-watch health-kit watch-os-2

有人说,运行HKWorkoutSession的应用程序将拥有超过其他watchOS 2应用程序的特权,因此当用户查看Apple Watch时,它将转到显示运行锻炼的视图而不是表盘。< / p>

目前,在我的设备和模拟器上,情况并非如此。如果我开始HKWorkoutSession然后离开5分钟,然后与Apple Watch或Watch Simulator进行交互,它就会呈现表盘。

如果我打开我的应用程序,它似乎已被冻结,而不是终止(这是我想象的其他应用程序)。当我需要在query.updateHandler中收到响应时,UI将更新。此外,如果我将其设置为每次我的query.updateHandler收到新的HKQuantitySample时都会提供触觉反馈,那么它将会这样做,因此应用必须以某种形式在后台运行。

有没有人注意到这种行为,我做错了什么,或者期待我不应该做的事情?

以下是我开始HKWorkoutSession的方式:

    self.workoutSession = HKWorkoutSession(activityType: HKWorkoutActivityType.Other, locationType: HKWorkoutSessionLocationType.Indoor)

        self.healthStore.startWorkoutSession(self.workoutSession) {
            success, error in

            if error != nil {
                print("startWorkoutSession \(error)\n")
                self.printLabel.setText("startWorkoutSession \(error)")
                self.printLabel.setTextColor(UIColor.redColor())
            }

1 个答案:

答案 0 :(得分:2)

我们也看到了这一点,目前我们确保打开最后一项活动&#39;已配置。

当UI处于活动状态时,我们启动dispatch_timer以1秒的间隔请求和处理数据。

确保使用NSUserProcessInfo方法执行任何重要处理,并在不再处于活动状态时暂停dispatch_timers。否则你会崩溃。