2013年3月14日木曜日

adt+Rakeでビルドやインストールをする

Rakeを使用してiOS端末へ以下の作業を行います。
・リリースビルドとインストール
アンインストール

AIRで使用するadtコマンドは(リンク先へ)から調べることが出来ます。


作成したプロジェクトのbin-debug内にRakefileとSettings.rbを配置します。
※画像キャプチャ内にdevicesファイルというのがありますが使用しません。

Settings.rb
task :set do
    $provisionFilePath = "~/certs/provision.mobileprovision";
    $p12FilePath = "~/certs/provision.p12"; 
    $storepw = "password"; 
    $ipaFileName = "./MobileSample.ipa";
    $appXmlFileName = "./MobileSample-app.xml";
    $swfFileName = "./MobileSample.swf";
    $extdirPath = "./";
    $platformsdkPath = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk";
    $defaultPngPath = "./Default.png";
    $deviceHandle = "1";
end
Settings.rbはRakefile内で使用します。 リリースビルドに必要な各種項目を定義します。

Rakefile
load "./Settings.rb"

$bl = " ";

task :default => [:set,:build,:ipaInstall];

task :build do
    adt = "adt";
    adt += $bl+"-package";
    adt += $bl+"-target"+$bl+"ipa-app-store";
    adt += $bl+"-provisioning-profile"+$bl+"#{$provisionFilePath}";
    adt += $bl+"-storetype"+$bl+"pkcs12";
    adt += $bl+"-keystore"+$bl+"#{$p12FilePath}";
    adt += $bl+"-storepass"+$bl+"#{$storepw}";
    adt += $bl+"#{$ipaFileName}";
    adt += $bl+"#{$appXmlFileName}";
    adt += $bl+"#{$swfFileName}";
    adt += $bl+"#{$defaultPngPath}";
    adt += $bl+"-extdir"+$bl+"#{$extdirPath}";
    adt += $bl+"-platformsdk"+$bl+"#{$platformsdkPath}";
    sh "#{adt}";
end

task :ipaInstall do
    adt = "adt";
    adt += $bl+"-installApp";
    adt += $bl+"-platform"+$bl+"ios";
    adt += $bl+"-platformsdk"+$bl+"#{$platformsdkPath}";
    adt += $bl+"-device"+$bl+"#{$deviceHandle}";
    adt += $bl+"-package"+$bl+"#{$ipaFileName}";
    sh "#{adt}";
end

task :ipaUninstall,'appid'
task :ipaUninstall do |t, args|
    Rake::Task["set"].invoke;
    adt = "adt";
    adt += $bl+"-uninstallApp";
    adt += $bl+"-platform"+$bl+"ios";
    adt += $bl+"-platformsdk"+$bl+"#{$platformsdkPath}";
    adt += $bl+"-device"+$bl+"#{$deviceHandle}";
    adt += $bl+"-appid"+$bl+"#{args['appid']}";
    sh "#{adt}";
end

作成したRakefileを実行すると、リリースビルド後に端末へインストールします。
$>rake
bin-debugにディレクトリを移動し、rakeコマンドを呼び出します。

次にアプリのアンインストールを行います。
$>rake 'ipaUninstall[com.app.MobileSample]'
ipaUninstallタスクを指定し、applicationIDを引数に渡します。

0 件のコメント:

コメントを投稿