Lion + Titanium Mobile1.8.5 + iosSDK5.0での実機転送

開発端末が今まで使っていたMacBookAir(Snow Leopard)からMacBookPro(Lion)にパワーアップしたのでアプリ開発環境も構築し直しなった。

before
MacOS 10.6 Snow Leopard + Titanium Mobile 1.7.3 + XCode4.2(iOS SDK4.3)

after
MacOS 10.7 Lion + Titanium Mobile 1.7.5 + XCode4.2(iOS SDK5.0)



開発しているTitanium Mobileアプリケーションは自作のモジュールをいくつか利用しているので念のため全部再ビルド。
ビルドしたモジュールをアプリケーションに配置してシミュレータで起動したところ問題なく起動しました。


しかし、Titanium Studioから実機に転送しようとすると下記エラーが発生。

[ERROR] Error: Traceback (most recent call last):
File "/Library/Application Support/Titanium/mobilesdk/osx/1.6.2/iphone/builder.py", line 1091, in main
execute_xcode("iphonesimulator%s" % link_version,["GCC_PREPROCESSOR_DEFINITIONS=__LOG__ID__=%s DEPLOYTYPE=development TI_DEVELOPMENT=1 DEBUG=1 TI_VERSION=%s" % (log_id,sdk_version)],False)
File "/Library/Application Support/Titanium/mobilesdk/osx/1.6.2/iphone/builder.py", line 1012, in execute_xcode
output = run.run(args,False,False,o)
File "/Library/Application Support/Titanium/mobilesdk/osx/1.6.2/iphone/run.py", line 39, in run
sys.exit(rc)
SystemExit: 65

ビルドするpythonコードを追ってxcodebuildのコマンドを試しに手動で実行するとarmv6がビルドできない的なエラーが出てました。
とりあえず以前の環境のMacBookAirで再度ビルドをためしてみると
MBA + Ti SDK1.7.3 + ios SDK4.3 OK
MBA + Ti SDK1.7.5 + ios SDK4.3 OK
MBP + Ti SDK1.7.5 + ios SDK5.0 NG
の切り分けになった。


どうやらios sdk5.0が怪しい。


iOS SDK4.3を試したいがためにMacBookProのほうでxcode4.2をアンインストールして、xcode3.2をインストールしてから、xcode4.2を上書きインストールしてみるも状況変わらず。


泣きそうになりながらネットを調べていると状況的には同じ質問があるが、最新のTitaniumMobileではiOS5.0対応していると記載がある。。。
http://developer.appcelerator.com/question/120631/ios-5

さらに泣きそうになりながらネットを調べているとどうやらxcode4.2にアップグレードすると色々設定が変わってしまう的な記事を発見。
http://ishidak.blogspot.com/2011/10/xcode-42-upgrade-problem-solution.html


書いてある通りにarmv6を設定

これを全モジュールに設定してビルドしなおしてからアプリケーションに組み込めば問題なく動きました。



ちなみにMacを乗り換えたタイミングでユーザーが管理者ユーザーではなくなったせいなのかTitanium SDKのインストール先が/Library/Application\ Support/Titaniumから~/Library/Application\ Support/Titaniumになっていたので、各モジュールのTITANIUM_SDKのパスを~/Library/Application\ Support/Titaniumに変更してあります。

この問題のせいで2営業日を無駄にした、、、