У меня есть приложение watchOS 2, которое отображает данные о работоспособности во время прогона. Я начинаю тренировку с использованием HKWorkoutSession следующим образом:
self.workoutSession = HKWorkoutSession(activityType: .Running, locationType: .Outdoor)
self.workoutSession!.delegate = self;
self.healthStore.startWorkoutSession(self.workoutSession!)
Это удерживает мое приложение на переднем плане, когда экран отключается на некоторое время, и пользователь снова смотрит на него позже.
Теперь можно сказать, что во время тренировки пользователь переключается на другое приложение или блокирует блокировку экрана (из-за того, что часы не надежно защищены), а затем пользователь снова запускает мое приложение, дважды щелкая на цифровой короне. Приложение возобновляет работу, где оно остановилось, и продолжает получать данные о здоровье, как и ожидалось, но мое приложение больше не останется на переднем плане. Тренировка все еще продолжается, потому что на часовом лице я все еще вижу значок тренировки вверху, а монитор сердечного ритма продолжает собирать данные о частоте сердечных сокращений, но приложение отказывается оставаться на переднем плане.
Есть ли у кого-нибудь идеи о том, как возобновить приложение для тренировки на передний план во время тренировки, даже если экран заблокирован или пользователь переключится на другое приложение?