XcodeをアップデートするとXib・Storyboardを開いただけで差分が出るのをなんとかする

  • 174
    Like
  • 0
    Comment
More than 1 year has passed since last update.

iOSに限った話ではないですが。

Kobito.T5sDkZ.png

Interface BuilderファイルにはXcodeのバージョンが含まれているので、アップデートしたXcodeでファイルを開いただけで差分が出てしまうという問題。

プルリクエストにこうした差分だけのファイルが紛れているとレビューのノイズになるので、定期的に全IBファイルを更新・プルリクエスト みたいな事ができないかなーと調べたところ、Xcode付属のibtool(1)を使えば簡単にできました。

まず特定のIBファイル内のXcodeバージョンを最新にするには下記のようにします。

$ xcrun ibtool --upgrade ./Sources/MyView.xib --write ./Sources/MyView.xib

実際にXcode6.4で生成したxibをXcode7.1.1のibtoolで更新した結果。ちゃんとツールのバージョン番号が更新されています。

Kobito.K0XuSU.png

さらに下記のようにすればプロジェクト内の全IBファイル更新も一発。

find ./Sources -name "*.storyboard" -or -name "*.xib"  |xargs -IFILE xcrun ibtool --upgrade FILE --write FILE

新しいXcodeが出たタイミングとかで一括更新するようにしておけば良さそうですね。

This post is the No.15 article of iOS Advent Calendar 2015