Xcode7-beta環境でのビルドに失敗した際の対処メモ

RubyMotionで作っているiOSアプリが、iOS9(beta)でもきちんと動くかどうかを確認するため、Xcode7-beta環境でビルドしようとしたところ、エラーが出てビルドに失敗した。
そこで、エラーメッセージを見ながら対策を調べてみた。

症状

まず、ビルドにiOS9用のSDK(Xode-beta)を利用するため、Rakefile内で次のように設定した。

...
Motion::Project::App.setup do |app|
  ...
  app.xcode_dir = "/Applications/Xcode-beta.app/Contents/Developer"
  app.deployment_target = "9.0"
  app.sdk_version = "9.0"
  ...
end

そして、rakeコマンドでビルドしてみる。

$ rake
     Build ./build/iPhoneSimulator-9.0-Development
    ERROR! Building vendor project `vendor/Pods' failed to create at least one `.a' library.

エラーだ。まずCocoaPodsのライブラリをビルドしようとして失敗しているっぽいけど、これだけでは何が悪いのかよく分からない。
なので、rake --traceでもう少し詳しくエラーを見てみる。

$ rake --trace
...
xcodebuild: error: SDK "iphonesimulator9.0" Cannot be located.
...

これだ。xcodebuildコマンドが、iOS9(beta)のSDKがどこにあるか分からない、ということらしい。

要は、Xcode7-betaのxcodebuildではなく、Xcode6の同コマンドが動いている、ということなのだろう。

対策

では、Xcode7-beta環境のxcodebuildを動かすにはどうすれば?とググってみたら、やっぱりあった。

ここのアドバイスよると、次のコマンド一発で解決できる、とのこと。

$ sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer

このコマンドを実行してみたら…あっさりとiOS9(beta)のSDKでビルドできた!\(^o^)/

Comments