これまでMonacaでiOSアプリをビルドするには、あらかじめApple Developer Programに登録してモバイルプロビジョニングファイルを作成する必要がありました。検証用のデバッグビルドであってもプロビジョニングファイルを用意しなければならないのは、若干ハードルが高かったと言えます。

そこで今回、Monacaの新機能としてシミュレータービルドが追加されました。シミュレータービルドは開発者登録やプロビジョニングファイル無しで検証用のアプリをビルドすることができる機能です。iOSアプリの検証をより手軽に行えるようになります。

この記事ではシミュレータービルドの使い方と、さらにそのシミュレータービルドならではのデプロイサービスである Appetize.io との連携方法を紹介します。

シュミレータビルドのやり方

iOSアプリのビルド画面に、「シミュレータービルド」項目が追加されています。使い方は「ビルドを開始する」ボタンを押すだけです。

ビルドが完了すると 20180511173937-app.zip といった形式の名前がついたファイルがダウンロードできます。これを解凍すると (アプリ名).app という実行ファイルが含まれているはずです。

MacのiOSシミュレーターでアプリを動かす

シミュレータービルドしたアプリは、macOSのXCodeに含まれる「iOSシミュレーター」上で動きます。
/Applications/Xcode.app/Contents/Developer/Applications/ の中にある Simulator.app がiOSシミュレーターです。
起動するには、以下のコマンドをターミナルで実行します。

iOSシミュレーターが立ち上がったら、先ほどダウンロードしたアプリをiOSシミュレーターの画面上にドラッグ&ドロップします。

するとアプリのインストールが実行されて、iOSシミュレーターの中で動作するようになります。もちろん、Cordovaプラグインも組み込まれている状態になるので、実機テストと変わらない感覚でアプリを試せるはずです。

デバッグはデスクトップ版Safariで行えますが、筆者環境ではiPhone Xの場合、デバッグができませんでした。iPhone 8などは問題なくデバッグできました。

Macを持っていない人は(Appetize.ioの利用)

Appetize.ioはモバイルアプリをWebページに埋め込んで実行できるサービスです。アプリの紹介サイトで、デモを表示するために使われているケースが多いようです。
今回、Monacaからビルドしたアプリを Appetize.io へ直接デプロイする機能が追加されました。この機能を使えば、Macがなくてもシミュレータービルドしたアプリの検証が行えます。
ユーザー登録するとトライアルとして無料で利用開始できます。ユーザー登録後に Request an API token のページに行ってメールアドレスを登録すると、メールでAPIトークンが送られてきます。

次にMonacaの「設定」メニューから「デプロイサービス」を選択します。「新しく追加する」ボタンを押して、サービス名として「AppetizeIo」を選択します。
APIトークンの入力欄には、先ほどメールで受け取ったAPIトークンを入力します。エイリアス名には、任意の名称を入力します。アプリ名など分かりやすい名称が良いでしょう。

以上のように設定したうえでシミュレータービルドを行うと、ビルド完了後に Appetize.io がデプロイ先として表示されますので、クリックします。

デプロイが完了したら Appetize.io へ移動します。Dashboardを見ると、先ほどデプロイしたアプリが追加されているはずです。

「view」というリンクをクリックすると、実際にアプリを動かすことができます。「embed」をクリックするとiOSシミュレーター風のUIだけが表示される画面が開きますので、これをiframeタグの中に設定すれば外部のWebサイトから参照することもできそうです。

まとめ

シミュレータービルドによって、アプリのプロビジョニングプロファイルを作成することなく手軽にアプリの検証ができるようになります。これまでiOSアプリのテストに苦労していた方は、ぜひ試してみて下さい!

参考:iOS アプリのビルド | Monaca Docs