我正在使用 Health Kit 从手表中保存锻炼。除了一件事,所有的工作都按假设进行,当我在手机上打开健身应用程序并检查“锻炼”部分时,我发现有几个小时的锻炼。经过一些测试,似乎会话在最近保存的锻炼和下一个锻炼之间保持打开状态。
也许用一个例子更容易解释。如果您每天下午 6 点锻炼 1 小时,您会转到健身应用程序,您会看到下午 6 点到 7 点的锻炼情况。但是,当您第二天下午 6 点开始新的锻炼时,您会立即将 24 小时的锻炼添加到健身应用程序中。
代码很像苹果建议的(不是文档,示例应用程序),这意味着当我在手表应用程序上按结束锻炼时,我首先结束 HKWorkoutSession,等到“结束”状态到达,然后我在 HKLiveWorkoutBuilder 上执行 enCollection 和 finishWorkout。
所有示例都忽略了错误消息,所以我尝试打印它们并发现了这个错误
当调用 endCollection 时,我得到 ->“无法结束当前未激活的锻炼” 当调用 finishWorkout 时,我得到 ->“无法完成当前未结束的锻炼”
所以,问题是,关于我做错了什么的任何想法?关于如何尝试找到问题的任何提示?在这一点上,任何帮助/建议都非常受欢迎。