Edited at

【RPGツクールMV】WindowsだけでiOSアプリをビルドする方法【Cordova】

More than 3 years have passed since last update.

12月17日に発売されたRPGツクールMVでは、従来のWindows/exe形式だけでなく、

新機能としてウェブブラウザからプレイできるHTML5形式やMacで実行するapp形式、

またAndroidのapk、iOSのipa形式の4種類のパッケージングが可能になりました。


iOSアプリのパッケージングにはMacが必要

新機能紹介のページにはそのように書かれていましたが、

実際に製品を購入してからヘルプファイルを読んでみると、

iOS向けにビルドするためにはMacが必要であると書かれています。

そうです。

iOSアプリを作成するには、どうしてもMacが必要なのです。

Mac向けアプリをビルドするためには、Macは必要ないというのに!


サーバ上のMacでiOSアプリのビルドを代行してくれるサービス

結論から申し上げるとWindows版RPGツクールMVからiOSアプリを作成するには、

最終的にはMacを持っている誰かにMacを借りてビルドする必要が出てきます。

有名な代行サービスとして下記のようなものがあります。

PhoneGap BuildCreative Cloud登録者なら無料で使えるので、

私が登録している都合からPhoneGap Buildを使ってビルドしてみたいと思います。


Adobe PhoneGap Build

今回は既にCreative Cloudに登録しているという前提で進めさせて頂きます。


アプリケーションの登録

PhoneGap Buildにログインすると、上記のような画面が表示されますので、

MVから下記の手順で出力したフォルダをzipファイルに圧縮して、

「zipファイルをアップロード」ボタンを押して選択します。

メニュー > ファイル > デプロイメント > Android / iOS > OK

今回は新規作成した直後のプロジェクトをデプロイして試してみました。


ビルド準備完了

zipファイルのアップロードが完了すると上記のような画面になりますので、

アップロードしたアプリケーションのゲーム名と内容の説明を入力してから、

「ビルド準備完了」ボタンを押下してアプリケーションのビルドを実行します。


iOSビルドのみ失敗

しばらくするとこのような画面になり、Android向けとWindows向けにビルドが成功し、

iOS向けのビルドが失敗していることを示す画面が表示されます。

詳細を表示すると下記のようなエラーメッセージが出ます。

You must provide a signing key, first. Find out how to fix this.

これは、iOSアプリの遠隔ビルドにはApple Developer Programへの登録とその証明書、

アプリごとに作成されるプロビジョニングプロファイルが必要となるにもかかわらず、

PhoneGap Buildにその登録が行われていないために発生しているエラーです。

具体的には下記のファイルをPhoneGap Buildに登録する必要があります。


  • p12証明書ファイル

  • プロビジョニングプロファイル


プロビジョニングプロファイルの作成

ヘルプに書かれている通り、iOSアプリの遠隔ビルドにはApple Developer Programへの登録が必要です。


ヘルプ->▼RPGツクールMV->▼資料集->iOSアプリへの変換->4.パッケージング->4-2.プロビジョニングプロファイルの作成

iOS端末実機にインストール可能なipaファイルを作成するには“プロビジョニングプロファイル”と呼ばれるアプリ識別用ファイルが必要になります。

プロビジョニングプロファイルを取得するには、Appleの[Apple Developer Program]への登録(有料)が必要です。


RPGツクールMVのヘルプに書かれた、Macを使う方法

RPGツクールMVのメニューから開けるヘルプを下記のようにたどると、

Mac上でプロビジョニングプロファイルを作成する方法が書かれています。


  1. ヘルプの目次

  2. ▼ RPGツクールMV

  3. ▼ 資料集

  4. iOSアプリへの変換

  5. 4 パッケージング

  6. 4-2 プロビジョニングプロファイルの作成

基本的にはブラウザ操作が中心になりますが、鍵の作成等には「証明書アシスタント」や

「キーチェーンアクセス」等といったMac特有のアプリを使っています。

Windowsでもヘルプに書かれた方法でブラウザの操作をすれば問題ありませんが、

Mac特有のアプリをWindowsで代替するための方法を書いていきたいと思います。


opensslのインストール

Windowsで鍵ファイルの作成等を行うためのOpenSSLというソフトをインストールします。

下記の手順で管理者権限でコマンドプロンプトを起動して、コマンドを入力して下さい。


  1. Windows キー押下

  2. 検索ボックスに cmd と入力

  3. Ctrl + Shift + Enter

  4. Alt + Y

OpenSSLをインストールするためにコマンドプロンプトへ入力するコマンドは下記の通りです。


cmd.exe

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))"

SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
choco install openssl.light -y


鍵ファイルの作成と証明書要求・登録

ヘルプの「4-2-1 鍵ファイルの作成と証明書要求・登録」で必要となる要求ファイルを作成します。

下記コマンドのyour@name.comとYour Nameを書き換えてコマンドプロンプトへ入力します。


cmd.exe

cd "\Program Files\OpenSSL\bin"

openssl genrsa -out ios.key 2048
openssl req -new -key ios.key -out ios.csr -subj "/emailAddress=your@name.com, CN=Your Name, C=JP"

C:\Program Files\OpenSSL\bin に ios.csrというファイルが作成されているので、

「要求ファイルの選択画面で、キーチェーンアクセスで作成した要求ファイルを指定します。」

とヘルプに書かれた選択画面でios.csrを選択してアップロードすれば、

証明書ファイルios_development.cerがダウンロードできますので、

C:\Program Files\OpenSSL\binに保存して下さい。


P12形式証明書ファイルの作成

ダウンロードしたios_development.cerからp12ファイルを作るために、

下記のコマンドを使い、ios.p12ファイルを作成します。


cmd.exe

openssl x509 -in ios_development.cer -inform DER -out ios.pem -outform PEM

openssl pkcs12 -export -inkey ios.key -in ios.pem -out ios.p12

この時、パスワードの設定が求められるので、適切なパスワードを入力して下さい。

パスワードはこの後のPhoneGap Buildへのキー登録時に必要なので覚えておいて下さい。


プロビジョニングプロファイルのダウンロード

ヘルプの「4-2-4 プロビジョニングプロファイルの作成と登録」に書かれた通りの手順で、

プロビジョニングプロファイルを作成してからダウンロードします。


Adobe PhoneGap Build

作成したキーを登録して、改めてビルドしてみます。


キーの追加

ページ右上にあるアカウントアイコンから下記の通りに遷移してキーを登録します


  1. アカウントを編集

  2. 署名キー

  3. iOS

  4. 「キーを追加」ボタンを押下

  5. タイトルを入力

  6. p12ファイルの選択

  7. プロビジョニングプロファイルの選択

  8. 「キーを送信」ボタンを押下


キーのパスワードロックを解除

キーの登録が出来たら、同じく署名キー画面で下記の通り操作してロックを解除します


  1. 「ロック解除」ボタンを押下

  2. p12ファイルの作成時に設定したパスワードを入力

  3. 「キーを送信」ボタンを押下


アプリケーションの再ビルド

アプリケーションのページから先ほど登録したiOSのキーを選択して、再ビルドボタンを押下します。

しばらくするとビルドが完了します。


iOSのSafariからPhoneGap Buildへアクセス

iOSのSafariからPhoneGap Buildにアクセスすれば、

iOSアプリとしてインストールすることが出来ます。


アドベントカレンダー

これはQiitaのRPGツクールMV Advent Calendar 2015の18日の記事でありながら、

RPGツクールMV(なんでもあり) Advent Calendar 2015の18日の記事でもあります。

明日は前者はkyubunsさん、後者はerorpginfoさんのご担当です。

MVで真っ先にMMORPGを開発されたkyubunsさんと、

RGCerorpginfoさんにバトンをお渡し出来て光栄です(キリッ