Apple Watch 実機デバッグの方法

デバッガ

iPhone 側のコード(例: AppDelegate) と Watch Kit 側のコード(例: InterfaceController)の両方でブレークできるようにする方法。

  1. Xcode でビルドターゲットを Watch Kit App にして Product - Run
  2. 起動したら Xcode - Debug - Attach から自分のアプリを選択する

これでどちらでもブレークするようになる。


NSLog

NSLog は Apple Watch 側のものしか Xcode コンソールに表示されない。上記の Debugger の Attach をしても stderr がコンソールに接続されないと Apple が認めているみたい。
ios - Xcode attach to process doesn't display NSLog - Stack Overflow

トラブルと解決方法

  • 1.何回か起動やアプリ削除を繰り返しているうちに、アプリが Apple Watch 上のアプリ一覧からいなくなった。
  • 2. 何回か起動とデバッグを繰り返しているうちに attach しなくなった。
    • Xcode - Product - Stop を繰り返して起動しているものをすべて止める。それでもだめなら Xcode 再起動。それでもだめなら Xcode - Product - Clean する。それでもだめなら iPhone からアプリを消す。