如果屏幕被锁定或活动应用程序更改,HKWorkoutSession不会恢复自定义健身应用程序



我有一个watchOS 2应用程序,可以在跑步时显示健康数据。我使用HKWorkoutSession开始锻炼,如下所示:

self.workoutSession = HKWorkoutSession(activityType: .Running, locationType: .Outdoor)
self.workoutSession!.delegate = self;
self.healthStore.startWorkoutSession(self.workoutSession!)

当屏幕关闭一段时间,用户稍后再看它时,这使我的应用程序保持在前台。

现在让我们说,在锻炼期间,用户切换到一个不同的应用程序或手表屏幕锁定(由于手表没有得到足够的保护),然后用户通过双击数字表冠重新启动我的跑步应用程序。应用程序恢复到它停止的地方,并继续像预期的那样获取健康数据,但我的应用程序不再停留在前台了。锻炼仍在进行中,因为在表盘上我仍然可以看到顶部的锻炼图标,心率监测器继续收集心率数据,但应用程序拒绝留在前台。

有没有人有任何想法如何有一个锻炼应用程序恢复到前台在锻炼期间,即使屏幕锁定或用户切换到不同的应用程序?

我用我两年一次的技术支持请求联系了苹果公司。据我采访的那位代表说,他认为这是watchOS的一个漏洞。早在10月份,我就把它作为bug报告提交了,但是这个问题没有得到任何回应,所以我想我可能遗漏了什么。我想我们暂时只能用这个方法了

最新更新