特定のMacでビルドできないXcodeプロジェクト

Xcodeに登録されているファイルの名前とファイルシステム上の名前が大文字小文字で違っている場合、Apple Storeから買ってきたばかりのあなたのMacではビルドできるかもしれませんが、Case Sensitiveファイルシステムに設定しているMacではビルドできません。

f:id:soutaro:20160314100916p:plain

この画像でUBTypedJSONDictionary.hとなっているソースコードは、ファイルシステム上はUBTypedJsonDictionary.hでした。なんでこうなったかというと、コードレビューで「NSJSONSerializationがあるのだからここはJSONであるべき」と指摘されて、なるほどと思ってXcodeでRenameしたらファイルシステムがついてこなかったからです。

注意しましょう。

注意したくない人は、Xcodeプロジェクトに登録されたソースコードをスキャンして、Case Sensitiveファイルシステムで問題になりそうな場合に警告するプログラムを作ったので、CIで実行したら良いと思います。

github.com