表示するために監視するデータを送信するアプリケーションを作成しました。時計が画面でアクティブな場合はデータを完全に送信しますが、時計がスリープするとデバイスがアクティブではないというエラーが発生しました。
私の質問は、時計がアクティブなときに、iPhone から WKSession sendMessage メソッドを使用して送信されるデータをどのように取得するかということです。
表示するために監視するデータを送信するアプリケーションを作成しました。時計が画面でアクティブな場合はデータを完全に送信しますが、時計がスリープするとデバイスがアクティブではないというエラーが発生しました。
私の質問は、時計がアクティブなときに、iPhone から WKSession sendMessage メソッドを使用して送信されるデータをどのように取得するかということです。
ウォッチ画面がオフの場合、iPhone で sendMessage を呼び出しても機能しません。ウォッチ画面がオンの場合にのみ、リアルタイムでデータを送信できます。これは、時計から iPhone に sendMessage を使用している場合とは異なります (iPhone の画面がオフになっている可能性があります)。これは、iPhone コードから sendMessage を呼び出すたびに使用するコード ブロックです。
// Send messages to any paired apple watch.
func tryWatchSendMessage(message: [String : AnyObject]) {
if self.session != nil && self.session.paired && self.session.watchAppInstalled {
self.session.sendMessage(message, replyHandler: nil) { (error) -> Void in
// If the message failed to send, queue it up for future transfer
self.session.transferUserInfo(message)
}
}
}
次に、sendMessage または transferUserInfo 経由でデータを取得する場合に同じハンドラーを持つように Apple Watch アプリをセットアップします。