Я пытаюсь создать приложение для бега трусцой, которое взаимодействует с приложением Apple Watch. Когда я нажимаю кнопку «Пуск», приложение iOS должно сигнализировать моему приложению Watch, чтобы начать отслеживать мою тренировку. (например, отображение прошедшего времени, измерение частоты пульса и т. д.). Для этого приложение iOS и WatchOS должно обмениваться данными. Проблема с моим приложением в том, что мое приложение WatchOS может получать сигнал только от моего приложения iOS, когда оно включено. (например, экран часов включен)
Это код из моего приложения для iOS:
@objc func startAction() {
if WCSession.isSupported() {
print("WC session is supported...")
let session = WCSession.default
session.delegate = self
session.activate()
session.sendMessage(["testWorkout":true], replyHandler: nil) { error in
print("ERROR: \(error.localizedDescription)")
}
}
}
А это код с другого конца (со стороны часов):
func session(_ session: WCSession, didReceiveMessage message: [String : Any]) {
WKInterfaceDevice.current().play(.start)
print("message test workout")
}
Я получаю звук воспроизведения и сообщение на распечатке: сообщение о тестовой тренировке, когда Apple Watch включены, но когда экран Apple Watch выключен, приложение WatchOS не получает сигнала. Какой код я могу написать из конца приложения iOS (или что-нибудь еще, что я могу сделать из конца приложения WatchOS), чтобы разбудить приложение WatchOS?