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