Я думаю, что вам нужно использовать расширенные сеансы во время выполнения, которые, я думаю, были введены в watchOS 6.
Расширенные сеансы во время выполнения требуют, чтобы вы специально указали тип вашего сеанса, что, как я думаю, в вашем случае квалифицироваться как «Физиотерапия». Вы должны выбрать в разделе фоновых режимов настроек вашего проекта
Тем не менее, поскольку я не знаю, для какой деятельности будет использоваться приложение, оно также может не подходить, если действие считается напряженным. В этом случае обратите внимание на HKWorkoutSession
, который, как мне кажется, рассматривает тренировку как приложение для тренировок по умолчанию, но я не уверен, что вы этого хотите.
Если вы хотите использовать Для расширенных сеансов во время выполнения вы можете:
- Инициализировать сеанс как
WKExtendedRuntimeSession()
- Назначить делегата сеанса (
WKExtendedRuntimeSessionDelegate
) - Использовать функции делегата, такие как
extendedRuntimeSessionDidStart(_ extendedRuntimeSession: WKExtendedRuntimeSession)
, чтобы иметь дело с активным сеансом.
Не забудьте session.start
, чтобы начать сеанс, когда это необходимо.
Вот некоторая информация, которая может помочь в дальнейшем: https://developer.apple.com/documentation/watchkit/using_extended_runtime_sessions