Android用バーコードモジュール for Titaniumがアップデート
Titaniumに対応したAndroid用バーコードモジュールが先日0.1から0.2へアップデートした。
Twitterで時々やり取りをしている@dan_tamasさんが、M-Way Solutions社で公開しているバーコードスキャンモジュールを改修できる人はいないかと言うヘルプのツイートが流れてきて、その存在を知った。
0.1では、どうもroot windowでしか動作していなかったそうだ。
結局、M-Way Solutions社が改修をしてくれることになって、先日0.2にアップデートされた。
◇変更内容:
・Titanium Mobile SDK 1.6への対応
・root window以外での動作に対応
M-Way Solutions社のブログを見てもらうと、どういう経緯があったか見る事ができる。
http://blog.mwaysolutions.com/
ソースはこちら。https://github.com/mwaylabs/titanium-barcode
ちなみに、このモジュールのbuild.propertiesでは、/opt/android-sdk/〜となっていたので、自分の環境に合わせて、/android-sdk/〜と修正してからビルドしてみた。
モジュールを使ったサンプルも用意されているので、参考にしてみてほしい。
https://github.com/mwaylabs/titanium-barcode-example
このモジュールソースの中には、いろいろな機能のソースが含まれている。
他のモジュールを作成する上でも、とても参考になると思う。
Android用モジュール作成コマンド on MacOSX
【モジュール作成】
Android用モジュールを作成するには、以下のコマンドをTerminal.appからたたきます。
/Library/Application\ Support/Titanium/mobilesdk/osx/1.7.0/titanium.py create --platform=android --type=module --name=[module名(例:myModule)] --id=[id名(例:com.kazkonno.myModule)] --android=/android-sdk
※「\」はバックスラッシュ
【モジュールのビルド】
Android用モジュールをビルドするには、以下のコマンドをたたきます。
ant clean && ant
すると、プロジェクトファイル内にzipファイルが出来上がります。
これをダブルクリックして解凍します。解凍されたフォルダは、「com.kazkonno.mymodule」となります。
※注意:作成時モジュール名にmyModuleとMが大文字にしていましたが、できあがるフォルダは小文字になります。(1.7.0使用)。ソース内でrequireする際は、myModuleとMを大文字にして利用します。
【モジュールの設置】
/Library/Application\ Support/Titanium/modules/android/にcom.kazkonno.mymoduleフォルダを移動します。
※「\」はバックスラッシュ
【モジュール利用設定】
実際使用する際は、iPhone用と同じように、tiapp.xmlにモジュールを明記し、ソース内でrequireして利用します。
IS01をOSXで認識させる方法
~/.android/adb_usb.iniに以下を追加する。
0x04dd
その後、
adb kill-server
adb start-server
adb devices
これで端末が認識される。
AdMobモジュールをインストールする際の注意点
先日AdMobモジュールの記事を書いたが、Titanium Mobileのバージョンが目まぐるしくアップデーとしているため、モジュールがうまく動かない場合もある。簡単なポイントを追記しておいたので、悩んでいる人は参考にしてください。AdMobモジュールの設置方法 - kaz_konno’ blog: walkthisway
Xcode4 で実機インストールできない問題の回避法
Xcode4もGM Seed2になり、ストア用のビルドにも問題無いので、メインマシンに入れてしまったが、Titanium Mobileでの実機転送ができない問題が発生している。
自分はpython分からないが(他も分かっている訳ではない)、/Library/Application Support/Titanium/mobilesdk/osx/1.6.0/iphone/builder.pyとエラー画面
を眺めていたら、分かった。解決法が!
修正したbuilder.pyを下のURLに置きました。
1.6.0用です。
http://www.pastie.org/private/uxlsnoeihbssviu28b5foq
/Library/Application Support/Titanium/mobilesdk/osx/1.6.0/iphone/builder.pyを置き換えてください。
何でこんな簡単に解決できるところを修正しないのだろう。
忙しすぎて手が回らないのが実情だろうなぁ〜。
同じ問題がある人はお試しください。
AdMobモジュールの設置方法
「Ti+Plus」が開始され、今後様々なモジュールが提供されるそうだ。
価格は2500ドル/年〜。
開始に当たり、以下の3モジュールがサンプルとして無料で提供されている。
・Flurry for iOS
・AdMob for iOS
・Paint for iOS
この3つの中で一番利用したいのは恐らくAdMobモジュールではなかろうか。
モジュールの設置はコツをつかめば結構簡単。モジュールを使った事が無い人には、何をどうして良いか分からないと思うので、まずは以下の手順を読んでから試してほしい。
モジュールのインストール
ダウンロードしてきたzipファイルを解凍すると3つモジュールが入っている。
難しい話は置いておいて、インストールしてみよう。
Terminal.appを開き、以下のコマンドでインストール用にビルドする。
cd AdMobモジュールフォルダ ./build.py
ビルドに成功すると、こんな画面になる。
titanium.xcconfigファイル内、TITANIUM_SDK_VERSIONが古いままになっていると、buildが失敗します。その場合は、利用しているバージョンに修正してください。
(※2011/3/28修正)
そして、ti.admob-iphone-1.0.zipが出来上がっていることを確認しよう。
インストールは/Library/Application Support/Titanium内のモジュールが入っているフォルダへ、手動で移動させることになる。
マニュアルには、移動先までzipのまま持っていって、そこで解凍するように説明されているが、自分の場合は、zipファイルの今ある場所でダブルクリックして解凍してしまう。
つまり、/Library/Application Support/Titanium/modules/iphone/の中に、ti.admobフォルダを移動すれば良いということだ。別ウィンドウを開いておき、ドラッグ&ドロップする。
これでモジュールのインストールができた。次はプロジェクト側の設定だ。
プロジェクト側の設定
プロジェクト側では、tiapp.xmlに設定を追加する。
モジュールは、
こんな感じ。
<modules> <module version="1.0">ti.admob</module> </modules>
これでtiapp.xml側の設定は完了。
後は、jsファイル側でモジュールを呼び出してあげれば良い。
admobモジュールフォルダにexampleというフォルダがある。この中のapp.jsファイルを参考にすると良い。
モジュールを呼び出す場合は、requireを使う。
/* * Loads the admob module and tests it, with some custom colors. */ // open a single window var window = Ti.UI.createWindow({ backgroundColor:'#444' }); Titanium.Admob = require('ti.admob'); var adview = Titanium.Admob.createView({ top:0, left:0, right:0, testing:true, adBackgroundColor:'black', primaryTextColor:'blue', secondaryTextColor:'green', publisherId:'<<<YOUR PUBLISHER ID HERE>>>' }); window.add(adview); var label = Titanium.UI.createLabel({ text:'Play around with the ad!', bottom:40, height:'auto', width:'auto' }); window.add(label); window.open();
(※2011/3/28修正)
後は、上記ソースにpublisherIDを入れれば良い。
このpublisherIDは、AdMobでアカウントを作成し、アプリケーションを登録すると、このIDが発行される。
ここで登録するアプリケーションは、実際にストアで販売するもので無くても大丈夫。テストのため、適当なアプリケーション名を登録してみると良い。
これを使って、2500ドル稼ぐかな〜(無理無理w〜)。
コマンドラインでTitanium Mobileを操作する パート2
おまけ:Mac編 コマンドラインからアプリを実機転送
先ほどのbuilder.py本体で何をやっているかを覗けばだいたい分かる。
そこで、以下のコマンドで実機転送が可能である。
builder.py install [IOSバージョン] [プロジェクトディレクトリ] [AppID] [アプリ名] [プロビジョニング] [デベロッパ認証名]
実際にやってるみると、以下の要領となる。
/Library/Application\ Support/Titanium/mobilesdk/osx/1.6.0/iphone/builder.py install 4.3 ./ com.xxxxx.firstTrial firstTrial "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" "kazuaki konno (xxxxxxxxxx)"
※「x」の箇所は数字
これも毎回打つのは面倒なので、shellスクリプトファイルにしてしまう。
nano install.sh
これでスクリプトファイルを用意して、上記のコマンドを入れて保存する。
実行する際は、プロジェクトフォルダ内で、
sh ./install.sh
以上で、実機転送もできてしまう。
エミュレータ起動にしても、実機転送にしても、コマンドラインから行った方が早い。
他にも、いろいろな事がコマンドラインでできてしまう。興味があれば、builder.pyの中を見ると良い。