PhoneGap Build を使用したiOSアプリのビルド方法


PhoneGap Build とはクラウド上でCordova/PhoneGap アプリをビルドできるサービスである。 Adobe 社が提供しており、オープンソースのアプリもしくは非公開のアプリでも1個までなら無料でビルドできる。同様のサービスとしてはMonaca が有名である。

最大のメリットは Xcode や Android Studio など個別の統合開発環境がなくても、ソースコードをアップロードすることで、クラウド上でそれぞれにOSに合わせてビルドしてくれることである。Mac がなくても App Store に申請可能な .ipa ファイルまで作成してくれるのである。

最近はあまりモバイルアプリを作らなくなってしまったが、たまに古いアプリを更新する際に使用している。ただそのたびに証明書やプロビジョニングファイルの作成に手間取ってしまうため、今後の為に情報を整理しておくことにした。

全体の流れは以下の通りである。実際にはこれ以外にも、細かい下準備が数多くある。

秘密鍵と証明書署名要求の作成

まずローカル環境で、 OpenSSL を使用して秘密鍵(.key)と証明書署名要求 (Certificate Signing Request, .csr)を作成する。

openssl genrsa -out ios_20190911.key 2048
openssl req -new -key ios_20190911.key -out ios_20190911.csr -subj “/emailAddress=xxx@xxx, CN=XXX, C=JP”

証明書の作成

ここからは Apple Developer 上で作業である。まず Certificates, Identifiers & Profiles の Certificates 画面からローカル環境で作成した 証明書署名要求(.csr) を元に証明書(.cer)の作成し、ダウンロードする。

デバイスの登録

次に Devices 画面から、実機にインストールして研修するために、各iOSデバイスのUUIDを登録する。

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

Profiles 画面から、プロビジョニングプロファイル(.mobileprovision)の作成を行い、ダウンロードする。


証明書(.cer) と秘密鍵(.key)から.p12 証明書を作成

ここからは再びローカル環境での作業である。OpenSSLを使用して、まず.cerファイルをpemファイルに変換する。次に.pemファイルと.key ファイルから.p12を作成する。

openssl x509 -in ios_development_20190911.cer -inform DER -out ios_development_20190911.pem -outform PEM
openssl pkcs12 -export -inkey ios_20190911.key -in ios_development_20190911.pem -out ios_development_20190911.p12

証明書(.p12)とプロビジョニングプロファイルを登録

ここからは PhoneGap Build 側の作業である。まず PhoneGap Build にサインインし、「アカウントを編集」画面を開き、「署名キー」タブを選択する。

「追加」をクリックし、OpenSSLで作成した証明書(.p12)と、Apple Developer で作成したプロビジョニングプロファイルを登録する。

証明書とプロビジョニングプロファイルは、development 用と、distribution 用それぞれ登録する。

ソースのアップロード

Cordova/PhoneGap のソースをZIP形式で圧縮し、アップロードする。

ビルド

登録した署名キーを選択し、ビルドを行う。


おまけ

実機のUUIDを取得や、アプリのインストールなどは iTools という中国のアプリがとても便利だった。

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください