はじめに
watchOS2からiPhoneとwatch間でデータのやり取りする方法の一つとして、WatchConnectivityフレームワークを使った、Interactive Messagingというものが有ります。
これは両方アプリがフォアグラウンドにあれば、双方向でメッセージ(NSDictionary)のやり取りができるというものです。
今回はこちらを使った記事を紹介しようと思ったのですが、そもそも作ってみたらシュミレータでは出来るのに 実機で出来ない事象が発生しました。
エラー内容
普通にプロジェクトを作って、iOS9+watchOS2の実機デバッグした所、iPhone → watchに送信しようとしたら 下記エラーが出ました。
1 |
WCErrorDomain Code=7006 |
要するにこれは「watchアプリがインストールされてないので、送れませんでした」というものらしいです。
いやいや、XcodeでWatchKit Appを選んで実機デバックしてるし、表示もされてるから完全にインストールされてるじゃん・・・。
解決方法
調べてみるとなんてことはなかったというか、Xcodeのバグな気がするのですが、Interactive Messagingをする場合は、実機デバッグではなくて、一旦iPhoneのアプリを実機デバッグでインストールしたら、iPhone側「Watch」アプリから 対象のアプリケーションを選んで、AppをApple Watchで表示のスイッチをOFF→ONでインストールし直します。
そうすることで利用できるようになるので、実機デバッグでこの機能を試すことができません。 この状態で再び実機デバッグしてWatchKit Appを起動すると同じエラーになります。
最後に
これはそのうち修正されると思います。
よーし、watchOS2触るぞー!って、いきなりこれでつまずいたので書きました。