ios - 错误: Stopped workout session cannot be restarted

标签 ios watchos-2 healthkit

我可以开始和停止 HealthKit 锻炼类(class)。但是,当我在第一次锻炼停止后尝试开始第二次锻炼时,出现错误:

"workOutSession Error : Stopped workout session cannot be restarted"

如何在不关闭并重新启动应用程序的情况下开始下一个锻炼 session (在第一个锻炼 session 停止后)?我正在使用 Xcode 7.2, IOS9.2Watch OS 2.1

从 InterfaceController 停止:

func startWorkout() {
    myExtensionConnectivity.startSession()
    myExtensionHealthKitManager.startWorkout()
    myExtensionConnectivity.sendStartUpdatingCommand()
    }

func stopWorkout() {
    myExtensionConnectivity.sendStopUpdatingCommand()
    myExtensionHealthKitManager.endWorkout()
    myExtensionConnectivity.stopSession()
    }

来自 HealthkitManager:

func endWorkout() {
    healthStore.endWorkoutSession(workoutSession)
}

func startWorkout() {
    healthStore.startWorkoutSession(workoutSession)
}

最佳答案

在开始第二次锻炼之前,您需要创建一个新的 HKWorkoutSession 实例。正如错误消息所述,您不能重新启动已停止的 session 。

关于ios - 错误: Stopped workout session cannot be restarted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34373387/

相关文章:

具有持续时间和自动反转的 iOS 动画

ios - 将图像附加到电子邮件

android - 如何将适用于 Android 和 iOS 的相同 Google Analytics 属性链接到 AdMob

swift - watch 屏幕关闭时,Complication 能否访问 Healthkit?

watchos-2 - 如何将现有项目从 WatchOS 2 迁移到 WatchOS 3

ios - 是否可以在 HealthKit 中添加样本描述?

objective-c - "Default"动画之后

swift - watchOS2.2更新Glance数据

ios - 使用不同的变量异步多次运行某些代码

iOS 应用因 healthkit 而被拒绝