開発中のアプリで突然WatchConnectivityが接続できなる問題にたまに苦戦します。
何度か経験して今回長い時間ハマったのでとりあえず雑な知見をまとめます。
現象
- 特定のアプリのWatchConnectivityがまったく接続できなくなる
- 別のアプリのWatchConnectivityは接続できる
- WCSession#isReachable:trueだが、接続を試みてしばらくするとfalseになって切断されている
- iPhoneへのリクエストは到達しており、レスポンスをWatchで受け取れていない(replyHandlerは実行されている)
- Apple Watchのコントロールセンター的なところではiPhoneと接続済みのステータス
解決方法
- iPhone,Apple Watchを機内モードにする
- iPhone,Apple Watchを再起動する
- iPhone,Apple Watchを機内モード解除する
補足
関係あるか不明だが、以下の状況のApple Watchが近くにあったのも問題だったかもしれません。
- 同じアプリがインストールされている
- 以前iPhoneとペアリングされていた
メモ
- ipa配布したアプリか否かの因果関係は不明
- 今回はWatchアプリの開発中に配布したipaで発生した。
- またエンドユーザーからの問い合わせで、このような状況になっている可能性の高そうな問い合わせがある。