うめすこんぶ

日々のプログラミングで残しておきたいメモ.何かの役に立てれば幸いです.

TItanium Studio でサンプルプログラムを動かしてみる

スポンサーリンク

前回の続きで、サンプルプログラムを早速エミュレータ上で動かしてみます。

サンプルプログラムを動かしてみる

まずサンプルプログラムのKitchin Sinkを動かすのがいいそうです。 TitaniumのさまざまなUIがひと通り見れるらしいので。

インポート

Titaniumを起動。Dash boardの画面から、Develop→Kitchin Sink のimportをクリック。

f:id:konbu13:20140101212501j:plain

→図のように、Gitがないというエラーが出ました。

f:id:konbu13:20140101212511j:plain

…諦めて、Githubからサンプルプログラムをダウンロードすることに(appcelerator/KitchenSink · GitHub)

zipを解凍して、TitaniumStudioのFile→Import→Generalをダブルクリック→Exsisting Project into Workspace→Next

Select root directory: のテキストボックスに解凍したKitchen Sinkのフォルダを入れ、Finish。

これで、Kitchen Sinkのプロジェクトができました。

実行

この画面のRunの右に書かれている名前が「iphone Retina (4 inch)」となっていることを確認。

f:id:konbu13:20140101212726j:plain

でなければプルダウンから「iphone Retina (4 inch)」を選択。 選択すると、コンソール画面に文字がでてビルドが進行します。

しかし、ここでエラーが!

[WARN] : Could not find Titanium module id=facebook version=latest platform=iphone deploy-type=development [ERROR] : Could not find all required Titanium Modules: [ERROR] : id: facebook version: latest platform: iphone deploy-type: development

なんだろう、これは、と思いつつ、 Project ExplorerエリアのKitchenSinkの中のtiapp.xmlを開きました。

f:id:konbu13:20140101220526j:plain

モジュールを×を押してすべて消し、Runでうまく行きました。

f:id:konbu13:20140101220528j:plain

また、Runの右のプルダウンからMobile Web Previewを選択してもうまく実行できました。 こちらはブラウザ上でアプリが実行されました。

自分でプロジェクトを作ってみる

今度は自分でHelloWorldを作ってみます。といっても、新規プロジェクトを作っただけですが。 メニュー→File→New→Mobile App Projectを選択→Default Alloy Projectを選択してNext→ Project NameとApp Idを入れ、Finish。プロジェクトが作成されます。

特に何もいじらずビルドします。 Titanium CLIがインストールされているので、今回はターミナルからビルドをしてみます。

cd プロジェクトのディレクトリ
sudo xcodebuild -license
sudo titanium build -p ios

シミュレータが立ち上がりました。(出るまですこし時間がかかる)

シミュレータの○○の部分の右の○をクリックし、上の方にスクロールすると、Helloのアプリが見える。クリックします。

f:id:konbu13:20131231212926j:plain

やっとできた…

でもなぜかエラーが発生。

[ERROR] Project failed to build after 1m 32s 869ms

実行はできるのですが…。

permission denied の場合

ちなみに、Titanium GUI上でiphone Retina 4.0を選択してRunすると、

Error: EACCES, permission denied '/Users/koishi/dev/titanium_studio/Hello/build/iphone/build/Debug-iphonesimulator/Hello.app/Default-568h@2x.png' at fs.unlinkSync (fs.js:760:18)

というエラーが。

json global_cacheなんたらをchmod a+xしたらうまく行きました。 他にもpermission deniedが出るので、該当ファイルは全部chmod 777 *.pngと設定。 これで、GUI上のRUNでもiphoneエミュレータが動作するようになりました。

HelloWorldの修正

生成されたアプリを少しだけ修正してみる | Developers.IO を参考にして、HelloWorldを修正してみました。 途中、imagesのフォルダの場所指定をミスってエミュレータに画像が出ない現象が発生しましたが、すぐに修正できました。 cd でプロジェクトの中に入り、 sudo titanium build -p ios で実行。 なぜか、再び下のエラーが出るが、正常に動作している模様。

[ERROR] Project failed to build after 1m 32s 869ms

2回目にbuildしたらべつのエラーが。

[WARN] : ERROR: Unexpected character '›' [null:4,0] [DEBUG] /usr/local/lib/node_modules/alloy/node_modules/uglify-js/lib/parse.js:199 [ERROR] (message, line, col, pos); [DEBUG] ^ [ERROR]
[ERROR] (/usr/local/lib/node_modules/alloy/node_modules/uglify-js/lib/parse.js:185:18) [ERROR] (/usr/local/lib/node_modules/alloy/node_modules/uglify-js/lib/parse.js:199:11) [ERROR] (/usr/local/lib/node_modules/alloy/node_modules/uglify-js/lib/parse.js:291:9)

→原因は、index.js内の4行目に記号">"が書かれていたため。初歩的なミス。 でも、index.js内にエラーが有るよ、って書いてくれてないからわかりづらい…

現状

今のところ、iosだとシミュレータが起動するようになった。Androidエミュレータの起動はできても 作ったアプリのlaunchに失敗します。原因不明。

エラーも出なくなりました。

f:id:konbu13:20131231213017j:plain

そのた困ったこと

  • エミュレータの起動にかなり時間がかかります。仕方ないと割り切るしかない?
  • Dashboard→Dev→Kitchen Sinkなどのimportを押しても何もおこらなくなりました。