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