Xcode のプロジェクトのディレクトリ構成を変えていたら、ビルド成功後に
“error: failed to attach to process ID 0”
というメッセージがログに出てシミュレータが動かなくなった。原因が色々あったのでその内容をメモ。
バンドルファイルのキャッシュがおかしくなっている場合
xcode4 – error: failed to attach to process ID 0 – Stack Overflow
- 以下のディレクトリに入っているファイルを消す
~/Library/Application Support/iPhone Simulator/{Version}/Applications and ~/Library/Developer/Xcode/DerivedData
(この処理は Organizer の Project タブからでも実行できる)
- Product > Clean を実行する
- 再度ビルドを行う
デバッガーがおかしくなっている場合
ios simulator – Failed to Attach to Process ID Xcode – Stack Overflow
- ツールバーの左上にある Scheme から Edit Scheme を選択して Debugger を GDB や None にしてみる。
- 再度ビルドを行う
Folder Reference として “resources” という名前を使っている場合
Xcode compiles my App, but can’t run it in the simulator
- “resources” という名前の Folder Reference をプロジェクト上から削除
- “resources” フォルダを別の名前にしてプロジェクト上に登録しなおす。
- Organizer の Project タブから Derived Data を削除しておく
- 再度ビルド
まとめ
結局一番最後のものが原因だったけれど調査にかなり時間がかかってしまった。もう少しましなエラーメッセージは出ないものなのか・・・。
Group と Folder Reference の比較はこちら Xcode Groups vs. Folder References