Home > 技術 > MacOSX LionにTitanium Mobile(Studioも)をインストールしたときのメモ(2012-02-06時点) - iPhone/Android対応

MacOSX LionにTitanium Mobile(Studioも)をインストールしたときのメモ(2012-02-06時点) - iPhone/Android対応

必要にせまられて、Titanium MobilePhoneGapの調査が必要になったので、いろいろとメモを残しておきます。

今回Titanium Mobileの解説になります。
一応Titanium Mobileを入れた環境を以下に列挙しとく。

MacOS X
Lion
Java
1.6.0_29
Titanium SDK
1.8.1
Titanium Studio
1.0.8

ちなみに、LionからデフォルトでJavaが入らないので、自分でSDKをインストールする必要があります。

Titanium Mobileのダウンロード(with Titanium Studio)

まずは、Titanium Studioをダウンロードします。
こちらをダウンロードすると、自動的にTitanium Mobileもダウンロードされます。

いろいろTitaniumのことでググるとTitanium Developerのことが検索されますが、今はもうTitanium Studioに統合されているようです。

Sign Up for an Appcelerator Developer Account
にアクセスし必要な情報を入力しサインインする。

あとは、Resources画面からOS X版をダウンロードする。

Titanium Studioを起動してみる

eclipseベースなので比較的見慣れたUIですが、デフォルトで背景が黒いが個人的には好き。
起動すると、しばらく右下のあたりでゴニョゴニョアップデートに関する動作があるので、少し待ちましょう。
すると、Titanium Studioのアップデートを促されるのでやっちゃいます。やっちゃいましょう!

何はともあれTitanium Mobile Projectを新規作成してみる

メニューの「File」→「New」→「Titanium Mobile Project」を選びます。

そして以下のように必要な項目を入力していくんですが、ここで一つ問題が。
Androidのチェックボックスは、そもそもAndroidのSDKが入っていないとチェックができません。
おそらくiPhoneも同様だと思います。(すでにXCodeを入れていたので未確認)
iPhoneSDKに関しては目指せ!iPhoneアプリ開発エキスパート:第2回 iPhone SDKの入手と設定|gihyo.jp ... 技術評論社の記事をご覧ください。

New Titanium Mobile Project.png

なので、一旦プロジェクトの新規作成は置いておいて、AndroidのSDKをインストールします。

AndroidSDKをダウンロードする+そしてSDKをインストールする

Android SDK | Android Developers
からandroid-sdk_r16-macosx.zipを選びました。

解凍後、/android-sdk-macosx/tools/andoroidをダブルクリックしてAndroid SDK Managerを起動します。

ちなみにですが、この時点、つまりAndroidSDKはダウンロードしたけど、まだどのバージョンのSDKもインストールしていない状態で、Titanium Studioの設定で、/android-sdk-macosx/の場所を指定してもSDK自体がインストールされていないので以下のようなエラーがでます。

SDK at the given path has the following error: E...ion: No "android-8" or "android-2.2" in the Android SDK

(のちのちさらにこのメッセージの意味を知ることになるとは・・・)

話をAndroid SDK Managerに戻します。
今回はスマートフォンアプリの開発に使うので、2.3をインストールします。
結構時間がかかりますが、気長に待ちましょう!
あと僕はExtrasというところにある「Google〜〜」というのもほとんどインストールしておきました。

再度Titanium Mobile Projectを新規作成してみる

これで、ようやくiPhoneAndroidにチェックを入れた状態でプロジェクトを作成することができます。

AndroidSDKのパスを通す(がしかし)

「Preferences→Aptana Studio→Titanium」でAndroidのパス「/android-sdk-macosx/」を指定します。
このディレクトリは人によっては違うと思いますので、ご自分のパスを指定してください。

Preferences.png

ただし、これだけでは実はうまくいかない。

SDK at the given path has the following error: E...ion: No "android-8" or "android-2.2" in the Android SDK

相変わらずこのエラーが取れないのだ。
まぁ、よく読むとandroidの2.2が必要だと言っているようです。
とくに2.2が必要ではないんですが、このエラーを取り除くには2.2を入れるしかないので、もう一度Android SDK Managerからインストールしてください。
ちなみにこの2.2というのは、最新のTitanium Studioのバージョン(2012-02-06)の場合なので、2.1を要求される場合もあるようです。

iPhone、AndroidのシミュレータでRunしてみる

やっとここまできました!
では実際にシミュレータで動かしてみましょう。

「Project Explorer」ペインの自分で作ったプロジェクトを右クリック→Run AsからiPhone Simulator選びます。

スクリーンショット 2012-02-06 17.41.38.png

続きまして、同じくRun AsからAndroid Emulatorを選びます。
(iPhoneとは比べ物にならないくらい時間がかかります。本気です。)

スクリーンショット 2012-02-06 17.52.50.png

iPhoneではフッターにタブが表示されていますが、Androidのほうはヘッダーにタグが表示されています。
(こうゆうもんなのかな?いずれわかるときが来るであろう)

いろいろサンプルが詰まっているKitchenSinkで遊んでみる

↑で試したのはたんなるタブがあるだけのサンプルですが、実際にどんなUIが出来上がるのかをいろいろ試せるKitchenSinkを使ってみましょう!
なんとありがたいことに、Titanium Studioから直接このサンプルをダウンロードできます。

Web - test_Resources_app.js - Titanium Studio - _Users_hisamatsu___dev_TitaniumStudioWorkspace.png

あとは、KitchenSinkプロジェクトをRunさせるだけです。

スクリーンショット 2012-02-06 18.01.51.png

■KitchenSinkのgithub
appcelerator/KitchenSink - GitHub

KitchenSinkでだいたいのエッセンスが詰まっているので、あとはこれを応用する感じになるのかなーと思っています。
(ほんといっぱいサンプルあるので、助かります)

スクリーンショット 2012-02-06 18.53.37.png

そして、実はこのプロジェクトをAndroidのEmulatorで実行すると以下のエラーが出ます。

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

このエラーに悩まされて、断念された方も多々いるようですが、

結論として、Run Configuration で Android 2.2 じゃなくて、Google APIs Android 2.2 を使う。


via: 静電気日記@vg4.net : Titanium Studio for Windows 1.7.2で KitchenSink 起動させるプロジェクト。 - livedoor Blog(ブログ)

これで解決しました。

とにかくTitanium Mobileでググると古い情報が上位に来てしまうので、今後この記事も同じように古くなってしまうとは思いますが、どなたかの手助けになれば幸いです。

また、こちらの記事のように、
初心者でも2週間でiPhoneアプリが作れちゃうTitanium Mobileがすごい件 | 株式会社インフィニットループ技術ブログ
CoffeeScriptで組んでみるのも面白いかもしれません。

iPhoneの実機での動作確認

そっこうでエラーになって入らない。

[INFO] One moment, building ...
Traceback (most recent call last):
File "/Users/XXXX/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/builder.py", line 1537, in
main(sys.argv)
File "/Users/XXXX/Library/Application Support/Titanium/mobilesdk/osx/1.8.1/iphone/builder.py", line 705, in main
dist_name = dequote(args[7].decode("utf-8"))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x97 in position 0: invalid start byte

TitaniumでiPhoneへの実機転送時にはまった件のまとめ - Titanium/Androidアプリ開発メモに書かれているように、

  1. プロビジョニングプロファイルを指定したパスに日本語が入っている
  2. プロビジョニングプロファイルを作るために必要な証明書に日本語が含まれている

僕はこの2個目のほうでハマった。
そもそもAppleアカウントのfirstNamelastNameが日本語なのがまずかった。
しかも、これはこちら側では変えられない項目なので、Developer Centerにメール(英語)で依頼する必要がある。(面倒!)

そしてメールしてみた結果、

既に開発チームの一員でいらっしゃるので、
氏名修正の手続きは長く、手間がかかる可能性がございます。
なお、修正させて頂けることは保証できません。

ということなので、諦めてAppleIDの再取得をして、Apple Developer Programに追加してもらいました。
そして再度同じことを実施して、プロビジョニングプロファイルを作成して同期してみたところ、iTunesが起動してAPPの同期でうまいことiPhoneにアプリが入りました!

メモ:
Titanium StudioでiPhone実機転送をする方法 | zaru blogを読むと、あまりiTunesのアップデートをおろそかにすると、エラーが出るケースがあるようです。

Androidの実機での動作確認

こっちもそっこうでエラーになって入らない。

[ERROR] Failed installing com.hisasann: pkg: /data/local/tmp/app.apk.
INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

いろいろ試してみたんですが、結局Application IDのところにドットを2つ使うようなIDにしたらうまくいきました。
「com.hisasann.test」
のように、
「com.hisasann」
は、なぜかダメでした。
ただ、これは翌日になるとcom.hisasannでもうまいこと実機に転送されたので、いったいなんだったのか。。。

とりあえず今後はドットを2つ使うようにします。
Titanium Studioで実機に転送できない at nought

こちらでもドットについて言及されていました。

App Id:com.example.ti.blank

+ ドメイン名を逆さ+適当

+ 必ずドット"."を含むこと(でないとandroidの時動かないよ)


via: Titanium Mobileセミナーに行ってきたのでそのメモ - I'm hungry

さらにちょっとややこしいのが、実機にアプリを転送しても勝手に起動してくれません。

アプリは勝手に立ち上がらないので、コンソールに「Application installed. Launch from drawer on Home Screen」と出たら、自分でアプリケーションメニューを開いて、インストールされているアプリを起動しなくては行けません。


via: Mobile Dev. (Android + Java) » Titanium Studioで作成したプロジェクトを実機にインストールする

やっとこの感覚になれてきましたが、はじめは分からないものですね。


■参考リンク
Titanium StudioでiPhoneアプリを作ろう その1 - n-channelの日記
開発環境をつくるべし! - Titanium StudioではじめるAndroidアプリ開発
yoo-s.com
今後はTitanium Studioで開発を。 | 備忘録的なブログ
Titanium Studio をアップデートしたら Android SDK を認識しなくなった件 - モトクロスとプログラムと粉砕骨折と
Sawalog » Titanium StudioでAndroid SDKを設定する方法
Titaniumで作るAndroidアプリ開発(Titaniumインストール~サンプルアプリ"Kitchen Sink"起動) - jitsu102の日記
Titanium Mobile 用に Android SDK をインストールする | Bowz::Notebook
Titanium Mobile(with Titanium Studio)のサインアップとダウンロードの方法が変わっているようです。 - JP::HSJ::Junknews::HatenaSide

番外編 - Android開発を速くするfastdevを使ってみる

Androidのビルドはとにかく重いです。
iPhoneと比べると5倍くらい時間が掛かるような気がします。

そんなAndroid開発ですが、Titanium Mobileの1.7.0からfastdevという機能がついたようです。
では、それを使って何が速くなったのかを体感してみたいと思います。
まずは、「.bash_profile」に以下のエイリアスを追加します。

alias titanium="~/Library/Application\ Support/Titanium/mobilesdk/osx/1.8.1/titanium.py"

そして、新規作成したプロジェクトまでターミナルで移動して、以下を打ちます。

$ titanium fastdev start &
[1] 4194
$ Fastdev server already running for com.hisasann.test

なんか、すでに動いているよって言われた。。。
1.8からは自動でfastdevが動いているのかしら。

なので、適当にapp.jsのコードをいじってみて、以下を打ってみました。

$ titanium fastdev restart-app
Restarted app com.hisasann.test.

するとシミュレータを再起動せずにコードの修正ができました!
このディレクトリに毎回移動してコマンドを打つのがちょっと面倒(ボタンがあればいいのに)ですが、
これを使わない手はありません。

Titanium mobile Fastdevでアプリの変更をAndroidに即反映|WEBデザイン Tips

追記:2012-02-16 - Adobe Unit Types.osaxエラー

/Library/ScriptingAdditions/Adobe Unit Types.osax

このような一体何に使っているか分からないスクリプトファイル?でエラーがでた場合は、
Error about unit type conversion occurs when running an AppleScript in Photoshop (Mac OS X 10.6)
をもとにファイルを差し替えるとエラーが出なくなる。

このワンステップも個人的には結構ハマりました。

[via]
Titanium StudioでiPhone実機転送をする方法 | zaru blog

Titanium Mobileで開発するiPhone/Androidアプリ (Smart Mobile Developer)
北尾 雅人
翔泳社
売り上げランキング: 11403

Trackback:0

TrackBack URL for this entry
http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1280
Listed below are links to weblogs that reference
MacOSX LionにTitanium Mobile(Studioも)をインストールしたときのメモ(2012-02-06時点) - iPhone/Android対応 from HouseTect, JavaScriptな情報をあなたに

Home > 技術 > MacOSX LionにTitanium Mobile(Studioも)をインストールしたときのメモ(2012-02-06時点) - iPhone/Android対応

Tag cloud
月別アーカイブ
Powered by
Powered by
Movable Type Commercial 4.261

Page Top