Xcode プロジェクトの project.pbxproj が壊れて開けない

project.pbxprojをやんごとなき事情でコンフリクト解消した後、プロジェクトを開くと

cannot be opened because the project file cannot be parsed

で syntax error で開けなくなったりする。

どこかが syntax エラーになってるはずだけど解らない…。

そんなとき、xcodeprojer を使って解決を図る。

https://github.com/mikr/xcodeprojer

Python製のツールなのでレポジトリをクローンしたら

pip install .

でインストール。

インストールしたらxcodeprojerコマンドが使えるようになるので lint を実行する。

xcodeprojer --lint FooBar.xcodeproj/project.pbxproj
File FooBar.xcodeproj/project.pbxproj, line 3815, column 7
                        };
}
^
Error: parsing Xcode plist classically failed

こんな感じで syntax エラーの場所を教えてくれる。

実際はかなり前の行 ); 抜けがあって syntax エラーになっていた。発見に結構時間がかかった。でも解決できてよかった。