iOS開発する時のコード整形ツールとしてclang-formatを使用している。
最初はXcodeのプラグインとしてGUI上から手動実行していたが
XCodeのバージョンをあげると動かなくなったりとかで辛かったので
途中からターミナルで手動実行に切り替えた。
最終的にはビルドの時にpre-actionsでやれば整形漏れもなくなって
いいと思って、今の形に落ち着いたので導入方法メモ。

  • clang-formatをbrewからインストール

    brew tap tcr/tcr
    brew install clang-format
    
  • clang-format実行方法

    clang-format -i -style=Google hogehoge.m
    
  • edit schemeでpre-actionsにRunScriptを作成

    schemeのRunのPre-actionsを選択、新規RunScriptを作成する
    SRCROOTを使用するので「Provide build settings from」から整形対象のtargetを選択する

  • RunScriptにclang-formatのコマンドを記述する

    find ${SRCROOT} -name *.[h,m] | xargs clang-format -i -style=Google
    

これで対象のtargetをRunすると、自動でビルド前にコード整形がされるようになる