環境
- OS X 10.11.2
- Appium App 1.4.13 (Homebrew Cask でインストール)
- XCode 7.1.1
- iOS 8.4 シミュレータ (iPhone 5s)
問題
Appium をセットアップして Appium サーバの起動は問題なし.しかしインスペクタを起動しようとすると下記のエラーで起動できない
error: Could not pre-launch appium: Error: Instruments crashed on startup
iOS アプリよく分かっていないけれど,どうやら下記の部分が分かる範囲では root cause っぽい.
[INST STDERR] dyld: could not load inserted library '{path/to/iwd7/InstrumentsShim.dylib}'
原因
appium が依存している iwd7 モジュールに添付されている InstrumentsShim.dylib に問題がありロードできない.(と,思う.今回は深追いしてない)
解決方法
XCode に添付されているほうの Instruments を使う.コマンドラインから起動する場合は --native-instruments-lib
オプションを付けることで,iwd7 に添付されているものではなくシステムにインストールされているものを利用するようになる.Appium App を使っている場合は,iOS Settings -> Advanced -> 'Use Native Instruments Library' にチェックを入れれば OK.
これで無事起動することを確認.根本原因は iwd7 モジュールにありそうなので,Appium App の依存モジュールがアップデートされるのを待つ.