Google+ もご覧ください
ユーザーアイコン

Ti Weekly Clips++

Titaniumで知っておきたいニュース & DeployGateへのプッシュを行うプラグイン作成!

Donayama

Titaniumで知っておきたいニュース & DeployGateへのプッシュを行うプラグイン作成!

News - SDKアップデートやイベントなどのニュース

3.2.3 RC of Studio/SDK Now Available

先週分でご紹介したbeta版につづいて、リリース候補版が登場しました。 おそらく月末にこのまま3.2.3の正式版がリリースされることでしょう。

Dates for tiConf Asia & Australia announced | TiDev

tiConf 2014のシンガポールとオーストラリア(シドニー)の開催日が決まったようです。 シンガポールは10月25日、シドニーは11月22日となっています。

ただ、いつのまにか公式サイト上、日本開催の文字がごっそりなくなってるような感じですね(^^;

やっぱり色々厳しかったのでしょうか…。何か続報があればお伝えします。

■勉強会リマインダー

2014年5月17日に静岡県の浜松にて、Titaniumの紹介から実際のアプリ作成を行うハンズオンを行う勉強会が開催されます。

Tips & Topics - ノウハウや技術紹介、解説記事

re:Titanium 今ここでもう一度、はじめての Titanium #2

先日のTitaniumもくもく会 #18 : ATNDで発表された@ryugoo_さんによるスライドが公開されています。

Alloyに自作ライブラリを組み込んで利用する方法 - TitaniumMobile勉強記

Alloy移行連載の続き。

Titanium™ インストールガイド

@k0sukeyさんの力作がユーザ会ドメイン内で表示されるようになりました。 「これからインストールする」ってな方に紹介する場合はこちらを!

GitHub Watch - モジュールやサンプルコードの情報

jc888/TiParallaxHeader

ListView拡張する視差ヘッダを実現するiOSネイティブモジュール。 apping/APParallaxHeaderをラッピングしているようです。

TiParallaxHeader
TiParallaxHeader

caspahouzer/Ti.iCloudKeyValue

iCloudのKey-Valueストアを使うためのiOSネイティブモジュール。

Spotlight - 小さな特集

Tips & Topicsの次週分で紹介予定のDeployGate iOS SDKをTitanium Mobileで使う方法 - Qiitaという記事を受けて、 DeployGate + Titanium + iOSの試用とプラグインへの応用をしてみたいと思います。

すでにAd-hocビルドするために必要なあれこれが揃っている前提で参ります。

とりあえずテストアプリを作りましょう。

$ ti create --platforms ios --id jp.hsj.dgtest --name DGTest --workspace-dir .
$ cd DGTest
$ ti build --platform iphone

続いて、さっそくAd-Hocビルドしてみます。 --pp-uuidで指定するべき値はti info -t iosで調べてください。

$ ti build --platform iphone --target dist-adhoc --output-dir . --pp-uuid <Ad Hoc iOS Provisioning ProfileのUUID>

(略)

[INFO]  Packaging complete
[INFO]  Package location: /Users/donayama/Documents/dev/ti/DGTest/DGTest.ipa
[INFO]  Project built successfully in 36s 790ms

作成したIPAファイルをDeployGateにアップロードしてみます。

Webのインターフェイスからアップロードしてもいいのですが、 OSXの環境であるならば、curl https://deploygate.com/install.sh | shとすることでdgateコマンドがインストールされますので、これを活用したいと思います。

$ dgate push DGTest.ipa
Push app file successful!

Name :      DGTest
Owner :     donayama
Package :   jp.hsj.dgtest
Revision :  1
URL :       https://deploygate.com/users/donayama/apps/...

端末にDeployGate構成プロファイルをインストールすると、 次のようにインストールできるアプリが表示できるようになっています。

ちなみに、ここにabuiさんのTiDeploygateを組み込めば

  • リモートログ出力
  • deploygateユーザー認証
  • アップデート通知

といったことが可能になるようです。

さて、ビルド後に毎回dgate pushをするのも面倒くさいですから、 先日の特集で紹介したプラグイン機構を利用して、ビルド後のフックに組み入れてみたいと思います。

まずはplugins/dgpush/1.0/hooks/dgpush.jsを作成します。

ビルド終了後のイベントとしては"build.finalize"がターゲットになります。 こちらに対して、--targetdist-adhocでかつ--dgpushオプションを付けているときのみ、 動作するように条件づけをして、dgate pushを行うようにします。

exports.init = function(logger, config, cli, nodeappc) {

  cli.on('build.finalize', function (data) {
    if(data.target            === 'dist-adhoc' &&
       data.cli.argv.platform === 'ios'        &&
       data.cli.argv.dgpush   !== undefined){
      var ipa = data.projectDir + '/' + data.tiapp.name + '.ipa';
      require('child_process').exec('dgate push ' + ipa,
        function(err, stdout, stderr) {
          if (!err) {
            console.log('stdout: ' + stdout);
            console.log('stderr: ' + stderr)
          }
          else {
            console.log(err);
            console.log(err.code);
            console.log(err.signal);
          }
        }
      );
    }
  });

};

安易すぎる造りですが、もし色々やりたいのならdbankier/ti-testflight-hookなどを参考にしてみてください。

続いて、tiapp.xmlに次の記述を追加します。

    <plugins>
    <plugin version="1.0">dgpush</plugin>
    </plugins>

あとは、次のようにbuild時に--dgpushを付けておくことで、 自動的にdgate push <ipaファイル>をしてくれるという寸法です。

$ ti build --platform iphone --target dist-adhoc --output-dir . --pp-uuid <Ad Hoc iOS Provisioning ProfileのUUID> --dgpush
Tiweeklyclips

記事をリクエストする

関連記事

コメント