HKWorkoutSession не возобновляет пользовательское приложение для тренировки, если экран заблокирован или активное приложение изменено

У меня есть приложение watchOS 2, которое отображает данные о работоспособности во время прогона. Я начинаю тренировку с использованием HKWorkoutSession следующим образом:

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

Это удерживает мое приложение на переднем плане, когда экран отключается на некоторое время, и пользователь снова смотрит на него позже.

Теперь можно сказать, что во время тренировки пользователь переключается на другое приложение или блокирует блокировку экрана (из-за того, что часы не надежно защищены), а затем пользователь снова запускает мое приложение, дважды щелкая на цифровой короне. Приложение возобновляет работу, где оно остановилось, и продолжает получать данные о здоровье, как и ожидалось, но мое приложение больше не останется на переднем плане. Тренировка все еще продолжается, потому что на часовом лице я все еще вижу значок тренировки вверху, а монитор сердечного ритма продолжает собирать данные о частоте сердечных сокращений, но приложение отказывается оставаться на переднем плане.

Есть ли у кого-нибудь идеи о том, как возобновить приложение для тренировки на передний план во время тренировки, даже если экран заблокирован или пользователь переключится на другое приложение?

Ответ 1

Я связался с Apple, используя один из моих двухлетних запросов технической поддержки. По словам представителя, с которым я говорил, он считает, что это ошибка в watchOS. Я представил это как отчет об ошибке еще в октябре, но билет не получил ответа, поэтому я подумал, что, возможно, что-то не хватает. Я думаю, мы застряли в том, как это работает пока.