こんにちは。haranicleです。
きれいめ系iOSプログラマのためのモテXcode5コーデ術で書いたスクリプトがXcode5.1で動かなくなっていたから、なおした。

Command Line Developer Toolsのインストール

以下のコマンドを実行してCommand Line Developer Toolsをインストールします。
(ダイアログが出るけど適当にOK)

$ xcode-select --install

スクリプトの変更

スクリプトを以下のように書き換えます。

#!/usr/local/bin/ruby

puts "start"

#XcodeWorkspaceからプロジェクト名を取得する。
xcode_work_spece = ENV['XcodeWorkspace']
#'.'より前の文字列を抽出
project_name = xcode_work_spece.slice(0, xcode_work_spece.index('.'))

puts "project_name = #{project_name}"

base_path = ENV['PWD'] + "/#{project_name}/Formatted"

puts "base_path = #{base_path}"

if base_path != nil
  paths = `find "#{base_path}" -name "*.m" -o -name "*.h" -o -name "*.mm" -o -name "*.c"`

  puts "paths = #{paths}"
  puts "class = #{paths.class}"

  if paths.kind_of?(String) then
    paths = paths.split(/\r?\n/).map {|line| line.chomp }
  end
  paths = paths.collect do |path|
    puts "path = #{path}"
    path.gsub(/(^[^\n]+?)(\n)/, '"\\1"')
  end
  paths = paths.join(" ")
  result = `/usr/local/Cellar/uncrustify/0.60/bin/uncrustify -c "#{base_path}"/.uncrustifyconfig ーーno-backup #{paths}`
  puts "result = #{result}"
else
  puts "Invalid base path..."
end

注意点

/usr/local/Cellar/uncrustify/0.60/bin/uncrustifyのところは、環境によって違うかもなので適宜修正してください。
また、ーーno-backupのところは半角にしてください。
なぜか半角だと記事を保存できなかった。。

おわりに

これで、Xcode5.1でビルド成功時に自動でフォーマットが修正されるようになると思います。
Xcode5.1。。いろいろ罠がありますね。

[`evernote` not found]
Pocket