読者です 読者をやめる 読者になる 読者になる

Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

Titanium Mobile ではまったのでごにょごにょしてみた

javascript

昨年末に遅ればせながら iPod touch(4G) を買いました。たまに夜眠れない時、布団にもぐりながらポチリポチリと使っていたんですが、最近 Titanium Mobile なる開発ツールの存在を知りました。

Titanium Mobile って何?という方に軽く説明すると、通常、iPhoneAndroid 向けのアプリケーション開発には Objective-CJava といった開発言語を使う必要があるんですが、Titanium Mobile を使うと、JavaScript を利用してモバイル用ネイティブアプリケーションを作成できるというもので、たいへん素晴らしいソフトウェアです。

iPod touch 買ったもののいまいち使い道がないんで、早速何か作ってみようと思って試してみたものの、環境構築やら手間取ったので、そのメモを備忘録がてらに書いておきます。ちなみに環境は、Mac OS X 10.6.6 です。

とりあえず

以下の手順では、公式のドキュメントに書かれている事は省いていますので、読んでいない方は軽く目を通しておきましょう。ちなみに今回は、公式デモアプリの KitchenSink を、iPhoneAndroid で動かすのを試してみたいと思います。
http://code.google.com/p/titanium-mobile-doc-ja/wiki/get_started

インストール

Android SDK

http://developer.android.com/sdk/index.html
Android SDK starter package をダウンロード後、適当な場所に展開(ここでは~/local/android-sdk にしました)し、以下を実行します。

> cd ~/local/android-sdk
> tools/android update sdk
> cp platform-tools/adb tools

はまりポイント

Titanium Developer を起動すると Mobile SDK のダウンロードがはじまり終了後 KichenSink を import して Launch すると

Traceback (most recent call last):
File "/Library/Application Support/Titanium/mobilesdk/osx/1.2.0/iphone/builder.py", line 678, in
main(sys.argv)
・・・

と出て動かず。ふと Titanium Developer のウインドウの右上を見ると

New Mobile SDK available (version 1.5.1)

なんて書いてあって、クリックして Mobile SDK を最新にする必要がありました。わかりずれー

KitchenSink を動かしてみる

KitchenSink のダウンロード
git clone https://github.com/appcelerator/KitchenSink.git

github には、tar や zip で固めたものがおいてありますが、リポジトリごとダウンロードしておいた方が各バージョンを切り替えたいときに便利です。こんな感じで切り替えられます↓

git checkout HEAD # 最新
git checkout 1.5.0-update2
git checkout 1.5.0-update1
git checkout 1.5.0

…で、iPhone エミュレータはさっくり動きましたが、Android ではどーーーしても動かない。ググったところ、KitchenSink 1.5.0-update2 + Android SDK 2.2 + WVGA854 で動いたとブログに書かれている方がいたので、真似してみるもうちの環境では動かず。トライアンドエラーで、KitchenSink、Android SDKのバージョンをあれこれ組み合わせ変えてみたものの、動かず。

上の画像のエラーの内容↓

[ERROR] Timed out waiting for emulator to be ready, you may need to close the emulator and try again

[ERROR] Failed installing com.appcelerator.kitchensink: pkg: /data/local/tmp/app.apk

おまけに Android エミュレーターが激重で時間かかり過ぎ、悔しいですが Android は諦める事にしました。あ、ちなみに Hello world レベルのアプリなら Android でも問題なく動きました。

KitchenSink を実機に転送したい

iPhone 実機に自作アプリを転送するには、iPhone Developer Program へ参加(年間10,800円)しないといけません。「まぁレンタルサーバー借りて1年遊んだと思えば妥当な値段かなー」と、Developer 登録しようと思い、手順を調べてみるとなにやらかなり面倒くさい。

何が面倒って、まず Apple ID に登録済みの氏名や住所に日本語が含まれていると Developer 登録に失敗するらしい。で、失敗すると、米国の Apple と英語でメールのやり取りして、英語表記に直してもらう必要がある。んがしかし、日本の Apple Store 利用時には、氏名は日本語表記じゃないとダメとのこと。な… 何を言ってるのか わからねーと思うが、おれも何を言ってるのかよくわからない上にググっただけの情報なので不正確かもしれないが、とりあえず

「必要事項を入力してデベ登録申請&クレカで決済したら、すぐアクティベーションコードが送られてきてサクッと実機転送」

は無理っぽいということだけはわかった。今日一日 Titanium Mobile 弄っててさんざんハマったので、今すぐ、iPod touch 実機転送を試してうまいこと動かし、喜びの気持ちを味わいんたいんですよ僕は!!!!

Android エミュレーターではうごかねーわ、実機ではすぐうごかせねーわ、一日かけてタイタニウム試したのに…

あーもう不貞腐れた、今日はもう寝る!!!!

………
……

そしたらこんな夢を見ました↓あくまで夢のお話です

http://gumballtech.com/2010/04/14/on-device-testing-wout-paying-99/
http://stackoverflow.com/questions/246422/how-can-i-deploy-an-iphone-application-from-xcode-to-real-iphone-device


あ!KitchenSink が実機で動いてるよ!!!やった!!(夢の中)