Titanium Studio で iOS Simulator が起動しなかった

昨日から Titanium に触り始めたので,さっそく Kitchen Sink をダウンロードしてみたり,サンプルプロジェクトを作ってみたりしたけど,いざ起動してみようと思って iOS Simulator を選択すると,7種類あるどの端末でも起動しなくて,以下のエラーがコンソールに出てた.Mobile Web Preview in Browser で起動すると Chrome でちゃんとアプリが動くので,問題判別としては iOS Simulator もしくは Xcode あたりに問題がありそうかなというところ.

[ERROR] :  Invalid "--ios-version" value "7.0"
   7.0.3
For help, run: titanium help build

ちなみに自分の環境はこんな感じ.

  • OS X 10.9.1 (Mavericks)
  • Titanium Studio, build: 3.2.0.201312191547
    • Titanium SDK: 3.2.0.GA
  • Xcode 5.0.2

あと Run Configurations で Titanium iOS Simulator を見ると iOS SDK で 7.0 しか選べない.

ググってみた

エラー内容でググってみると,似たようなエントリーが見つかるものの,SDK 3.1.3.GA の問題だから SDK 3.2.0.GA にしたら直るとか書いてあって,いやもう既に SDK 3.2.0.GA なんですけど!みたいな.一応このあたりのエントリーをザッと読んでみた.

[ERROR] : Invalid "--ios-version" value "7.0" 7.0.3 » Community Questions & Answers » Appcelerator Developer Center
After Update Unable to compile for iOS 7.0.3 - compiler says invalid ios version » Community Questions & Answers » Appcelerator Developer Center
Titanium SDK 3.2 [ERROR] : Invalid "--ios-version" value "7.0" 7.0.3 - Stack Overflow
[#TC-3404] [ERROR] : Invalid "--ios-version" value "7.0.3" - Appcelerator JIRA

Titanium CLI で実行してみる

上記エントリーで,ターミナルからコマンド叩けば,とりあえず動いた!みたいなコメントを見つけたので,やってみたところ,確かにこれならちゃんと iOS Simulator が起動した.やっぱり Titanium Studio の問題な気がしてきた.

titanium build --platform ios --ios-version 7.0.3 Where is the project directory?:

Xcodeのパッケージをいじくってみる

最終的にこのページに行き着いて,Xcodeのパッケージをいじると直りそうだったので,やってみたら解決した.でも本当にこれが正しい解決策なのかわからないし,こんなことしなくても動くようになって欲しいっていうのが本音かな.詳細はここを見てもらうとして,ざっくり手順をメモっておく.

adrianopaladini/Titanium-fix-3.1.x · GitHub

  • Creating SDK 7.0
    • Finder で アプリケーションを開いて,Xcode を右クリック → 「パッケージの内容を表示」を選択する
    • Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs を開く
    • iPhoneOS7.0.sdk っていうフォルダがあるのでこれを iPhoneOS7.0.3.sdk にリネームする
    • 次にリネームした iPhoneOS7.0.3.sdk をコピーして iPhoneOS7.0.sdk にする
    • iPhoneOS7.0.sdk を開いて System/Library/CoreServices を開く
    • SystemVersion.plist をテキストファイルで開いてバージョン名の記述を 7.0.3 から 7.0 に修正する
  • Preparing Titanium Studio
    • Titanium Studio を開いて,メニューから Run/Run Configurations を選択する
    • Titanium iOS Device と Titanium iOS Simulator の設定を全て削除する
    • Run Configurations を閉じて,メニューから Project/Clean を実行する

これで解決した!

まとめ

とりあえずこれで開発できるようになった!さぁ頑張ろう.

関連エントリー

Titanium もくもく会 #15 に参加してきた - kakakakakku blog