openParentApplication () фактически устарел. Новое соглашение заключается в использовании WatchConnectivity. Эта ссылка поможет вам получить некоторую информацию, а эта ссылка - это пример проекта Apple для Watch Connectivity. В частности, чтобы ответить на ваш вопрос, вы захотите использовать функцию sendMessage () из вашего расширения часов, чтобы сделать запрос, который активирует соответствующее приложение iOS в фоновом режиме и позволит ему вернуть запрошенные данные.
Вот небольшой пример запроса сообщения, который активирует приложение iOS в фоновом режиме. Однако сначала вам необходимо настроить Watch Connectivity в вашем приложении.
В вашем расширении часов
func sendActivationMessage() {
if session.activationState == .activated && session.isReachable {
session.sendMessage(["Watch Message" : "Activate"], , replyHandler: nil, errorHandler: nil)
}
}
В вашем приложении для iOS
func session(_ session: WCSession, didReceiveMessage message: [String : Any]) {
if let messageFromWatch = message["Watch Message"] {
let messageData = messageFromWatch as! String
if messageData == "Activate" {
// Handle Request
}
}
}