sencha-packaging

Posted by & filed under 開発.


 
>> iOS アプリ開発を Windows PC 上で!

Sencha Touch 2 のリリースを報じる記事で、ネイティブパッケージング機能が大きく取り上げられていました。記事を読んで興味を惹かれた方も多いようなので、今回は Windows で iOS アプリ(iPhone、iPad で動くアプリ)を開発する手順について、ご紹介させて頂きたいと思います。

Problem:

Solution:

実際のところ、作業はコマンドひとつで完了します。通常通り Sencha Touch で WEB アプリを開発した後、以下のコマンドを実行すると、iOS で実行可能なアプリケーションファイル(.app)が生成されます。

 
ネイティブパッケージングで変換した iPhone アプリを iTunes のAppセクションに配置しています。

但し、、コマンドを実行できるようになるまでが、それなりに面倒な道のりです。

1. Sencha SDK Tools のインストール

まず、Sencha コマンドを実行できるようにするために、Sencha SDK Tools をインストールします。ダウンロードは以下のサイトから。
http://www.sencha.com/products/sdk-tools/download/

ダウンロードしたインストーラを起動し、ウィザードに従ってインストールします。

コマンドプロンプトを起動し、sencha コマンドが実行できるか確認します。 Sencha Touch 2 SDK(既にダウンロード済みの想定です。ダウンロードはこちら) のルートディレクトリに移動し、 sencha コマンドを実行して下さい。以下の表示が出れば OK です。

# Sencha Touch 2 SDK のルートディレクトリに移動しているのは、sencha コマンドの特殊な仕様のためです。sencha コマンド実行時、ディレクトリに .senchasdk ファイルがあれば、そのファイルに記載されているパスから SDK を探します。ない場合は、環境設定のパスから SDK を探します。今回は、Sencha Touch 2 SDK に同梱されているコマンドを利用するので、そのコマンドまでのパスが書かれた .senchasdk がある場所まで移動しました。プロジェクトのルートディレクトリで実行したい場合は、そこに .senchasdk ファイルを作成して、Sencha Touch 2 SDK までのパスを記載すれば OK です。

# 現在(2012.3)の最新バージョンだと、Program Files(x86) にインストールするとうまく動きませんでした。適当なディレクトリを作って、そこにインストールした方がいいかもしれません。

2. P12形式のプロビジョニングの証明書を作成する

Sencha SDK Tools は iOS アプリにパッケージングする際に、プロビジョニングの証明書を利用します。もし Apple の iOS Developer Program に登録していない場合、まずは登録を行う必要があります。(登録料は ¥8,400 かかります。高いですね。。)

2-1. Visual C++ 2008 Redistributables と Open SSL のインストール

Windows で P12形式の証明書を作成するために、Open SSL をインストールします。
Open SSL を動かすためには VCRedist も必要なので、それも併せてインストールします。

2-2. 証明書の作成

Open SSL を使って、P12形式の証明書を作成します。コマンドの手順等は、以下のドキュメントを参照して下さい。
http://docs.sencha.com/touch/2-0/#!/guide/native_provisioning

すみません、少し端折り気味なのは、ドキュメント通りに進めても、私の環境ではうまくいかなかったからです。。最終的に、空っぽのP12ファイルが出来上がりました。。残念です。。環境依存の問題だと思われるので、一度試してみて頂ければと思います。

幸い、Mac OS で生成した P12ファイルがあるので、以降はそのファイルを使って進めました。

3. パッケージ設定ファイルを作成する

ネイティブパッケージングに必要な設定ファイル(.json)を、プロジェクトのルートディレクトリに作成します。以下にサンプルを記載します。

ポイントは、certificatePath に、作成した P12ファイルのパスを指定すること、 deviceType に、iPhone(もしくは iPad)を指定するあたりです。

ドキュメントに設定の詳細説明がありますので、ご参照下さい。
http://docs.sencha.com/touch/2-0/#!/guide/native_packaging

以上で準備が完了です。

コマンドひとつで、ネイティブアプリに変換できるようになりました :)

Discussion:

Windows では iOS SDK 付属のエミュレータが使えないので、動作確認は実機で行うしかないのですが、それでも、Mac OS 以外の環境で iOS アプリを作れるのは、なかなか便利だと思います。

内部では、バージョン1 の頃に推奨していた PhoneGap ではなく、Qt (キュート)という開発フレームワークを SDK Tools の中に隠蔽して利用しています。Qt の利用は、Sencha がライセンス契約しているので、 Sencha Touch を使うユーザーは特に意識しなくても構わないよう。 PhoneGap のような外部サービスとの連携ではなく、フレームワークの一部として機能を備えることで、 Sencha Touch に最適化したネイティブパッケージングを実現しようとしているようです。

今回ご紹介した Windows での iOS アプリ開発、実際のプロジェクトに採用するかどうかは、状況次第でしょうか。

モバイルアプリは、開発環境を整えるのが大変でしたが、近年、いろんなソリューションが増えてきましたね。個人的には、Brightcove App Cloud や Yコンビネータが出資している trigger.io などのクラウドベースのモバイルアプリ開発プラットフォームに注目していたりします。

追いかけていくのは大変ですが、生産性を高めてくれる便利な開発ツールが新しく出てくるのは、とてもわくわくします。 Sencha Touch のこれからにも期待です。

See Also:

– Sencha の開発者によるネイティブパッケージングの紹介動画
http://vimeo.com/37207689


関連文書:

Comments are closed.