モバイルアプリの生成・配布に関する詳細情報
この記事では、iOSおよびAndroidモバイルアプリの生成・パブリッシュに関連したタスクをより詳細に説明しています。
- iOSについては、Apple Developerとして登録する方法を確認し、証明書およびプロビジョニングプロファイルの作成方法の詳細をご覧ください。
- Androidについては、キーストアの作成方法およびそれを管理するためのベストプラクティスをご覧ください。
iOS用
Apple Developerとして登録する
iOSアプリパッケージ(IPA)を生成するための最初の手順は、Apple Developerとして登録することです。要件に応じて、2つの開発者プログラムのうちいずれかを選択することができます。
-
Apple Developer Program – 標準的なApple Developerアカウントです。アプリケーションを作成し、公開されたApp Storeで配布することができ、全世界の何百万ものエンドユーザーが利用できるようになります。Appleの承認を得るには、特定のガイドラインに準拠したアプリケーションにする必要があります。
詳細については、Apple Developer Programをご覧ください。
詳細については、App Store Reviewガイドラインをご覧ください。
-
Apple Developer Enterprise Program – Enterprise Developer Accountでは、App Storeガイドラインを遵守する義務はありません。ただし、アプリケーションの配布対象は組織内の従業員に限定されます。アプリは公開されたApp Storeには提出できず、組織内のストアまたはMDM(モバイルデバイス管理)ソリューションを介して配布することになります。
詳細については、Apple Developer Enterprise Programをご覧ください。
Apple Developer ProgramとApple Developer Enterprise Programの違いを理解したうえで、どちらかに登録します。両方が必要な場合には、Developer ProgramとEnterprise Programに1つずつ、2つの異なるアカウントを作成することができます。あとは、構築するアプリケーションのタイプによって、どちらか一方を使用します。
登録は、個人と組織のいずれでも可能です。組織として登録するには、追加の情報を提供する必要があります。処理にも少し時間がかかりますが、組織の代表としてアプリケーションを公開することができます。Apple Developer Enterprise Programを選択した場合には、組織としての登録が必須となります。個人としての登録と組織としての登録では、年間料金に差があります。
iOS Apple Developerアカウントの詳細については、OutSystemsのMediumブログ記事、「複雑なネイティブモバイルアプリ署名への対応」またはiOSの公式ドキュメントをご覧ください。
##証明書の作成
Apple Developerアカウントにログインし、[Certificates, IDs & Profiles]オプションを選択します。
使用可能な証明書は以下のとおりです。
- 開発証明書には、
iOS App Development
証明書を使用。 - 本番証明書には、
App Store and Ad Hoc
証明書(Apple Developer Programの場合)またはIn-House and Ad Hoc
証明書(Apple Developer Enterprise Programの場合)を選択。
証明書(.p12
拡張子形式)を作成するには、以下の手順を実行します。
証明書署名リクエスト(CSR)ファイルの生成
証明書を作成するには、CSRファイルを提出する必要があります。AppleのPCを所有している場合、AppleがCSR作成方法についての指示を提供します。Macを所有していない場合、以下の手順に従うとWindows PCからでも作成できます。
- OpenSSLの最新バージョンをダウンロードします。
- 新規コマンドプロンプト(Start → Run →
cmd.exe
)を開始します。 -
コマンドを実行して、OpenSSLインストールの際に使用するフォルダを設定します。
set OPENSSL_CONF=<path_to_openssl_bin>\openssl.cfg
<path_to_openssl_bin>
は、C:\OpenSSL-Win32\bin
またはC:\OpenS-Win64\bin
となります。 -
OpenSSLを呼び出し、CSRおよび秘密鍵を作成します。
<path_to_openssl_bin>\openssl.exe req -out <CSR_file_name>.csr -new -newkey rsa:2048 -nodes -keyout <privateKey_name>.key
<CSR_file_name>
にはCSRファイルの名前、<privateKey_name>
には秘密鍵ファイルの名前が入ります。
コンピュータ上でコマンドを実行すると、公開鍵が埋め込まれ、かつ秘密鍵の存在する新規CSRファイルが生成されます。
CERのダウンロードとp12証明書の作成
CSRファイルの作成が完了しました。Apple Developer Portalに戻り、ファイルをアップロードします。Appleのページで以下の手順を実行し、新しい証明書(CERファイル形式)を作成します。この証明書には公開鍵と秘密鍵が含まれており、複数のアプリで使用することができます。
CSRファイルとCERファイルは、必ず安全な場所にバックアップしてください。
Macを使用している場合には、CERファイルをダウンロードしてインストールし、p12ファイル形式にエクスポートします。Windows PCの場合には、コマンドプロンプトを開き、以下のコマンドを実行します。
<path_to_openssl_bin>\openssl.exe x509 -in <certificate_cer>.cer -inform DER -out <app_pem_file_name>.pem -outform PEM
<certificate_cer>
にはAppleからダウンロードした証明書の名前、<app_pem_file_name>
にはPEMファイルの名前が入ります。
次に、今生成したファイルを使用して以下のコマンドを実行し、p12ファイルを作成します。
<path_to_openssl_bin>\openssl.exe pkcs12 -export -inkey <privateKey>.key -in <app_pem>.pem -out <app_p12>.p12
<privateKey>
にはCSRファイル作成時に生成されたファイル、<app_pem_filename>
には直前に実行したコマンドで生成されたPEMファイルの名前、<app_p12>
にはp12ファイルに付けた名前が入ります。
要求に従ってパスワードを作成し、記憶するかどこかに保存します。OutSystemsで入力を求められる場面があります。すぐ上の手順で作成したp12ファイルが、iOSアプリを生成するための証明書となります。
プロビジョニングプロファイルの作成
プロビジョニングプロファイルを使用すると、開発したアプリケーションをAppleデバイス上で起動して、Apple Payなどのアプリサービスを利用したり、プッシュ通知をしたりすることができます。
使用できるプロビジョニングプロファイルは、以下のとおりです。
-
iOS App Development: この開発プロビジョニングプロファイルを使用すると、所定のデバイスでインストールおよび起動し、開発テストを行える開発版(デバッグ情報を含む)モバイルアプリを生成することができます。プロビジョニングプロファイルで指定したデバイスだけが、アプリをインストールし起動することができます。ユーザーのデバイスがアプリをインストールする権限を有していない場合は、「Unable to Download App」という警告メッセージが表示されます。
-
Ad Hoc: この配布プロビジョニングプロファイルを使用すると、一部のデバイスでのみ使用可能なリリース版モバイルアプリを生成できます。限定されたエンドユーザーグループにアプリケーションを配布する場合は、このプロファイルを使用します。プロビジョニングプロファイルで指定したデバイスだけが、アプリをインストールし起動することができます。ユーザーのデバイスがアプリをインストールする権限を有していない場合は、「Unable to Download App」という警告メッセージが表示されます。
-
App Store: Apple Developer Programで利用可能な配布プロビジョニングプロファイルです。これを使用すると、App Store経由で公開・配布できるリリース版モバイルアプリを生成することが可能です。アプリケーションのテストを十分行い、App Store経由であらゆるユーザーに配布可能なレベルとなった場合に、このプロファイルを使用します。
-
In-House: Apple Developer Enterprise Programで利用可能な配布プロビジョニングプロファイルです。これを使用すると、実行可能デバイスに制限がないリリース版モバイルアプリを生成できます。開発したモバイルアプリを組織内のみに配布する場合に、このプロファイルを使用します。App Storeには提出できないため、Appleによる審査対象にはなりません。その代わり、アプリの配布を自ら管理する必要があります
プロビジョニングプロファイル(ファイル拡張子.mobileprovision
)を作成するには、以下の手順を実行します。
-
Apple Developerアカウントにアクセスし、[Certificates, IDs & Profiles]オプションを選択します。
-
プロビジョニングプロファイルを選択します。
-
上記の説明に従い、生成するプロビジョニングプロファイルの種類を選択します。
-
生成処理中に要求される情報を入力します。入力すべき情報には、アプリIDのほか、プロファイルに含める証明書があります。プロビジョニングプロファイルによっては、生成するプロビジョニングプロファイルに関連付けられたモバイルアプリの起動許可対象となるiOSデバイスを指定する必要もあります。Developer Accountに後からデバイスを追加登録したり、アプリサービスを追加したりする場合、新しくプロビジョニングプロファイルを作成し、再度モバイルアプリを生成して変更を反映させる必要があります。ご注意ください。
-
生成処理が終わると、今後の使用に備えて、生成されたプロビジョニングプロファイルをダウンロードすることができます。
OutSystemsでiOSモバイルアプリを生成するには、上記ステップで指定した証明書のいずれかと、プロビジョニングプロファイルを提供するよう要求されます。
Android用
キーストアを作成する
キーストアは、セキュリティキーを保存するファイルです。Androidアプリに署名する際に使用します。アプリに署名をすると、Androidアプリ用アプリケーションの作成者を識別できます。詳細については、公式ドキュメントをご覧ください。
キーストアを新規作成するには、keytoolコマンドインターフェイスを使用します。このコマンドインターフェイスはJavaインストールのbinディレクトリに用意されています。Javaがインストールされていることを確認してください。
keytoolコマンドが使用できることを確認した後、コンピュータコマンドプロンプト(Start > Run > cmd.exe
)を開きます。現在のパスでkeytoolコマンドが使用できない場合には、Javaのbinディレクトリに移動します。以下の手順を実行します。
keytool -genkey -v -keystore <keystore_name>.keystore -alias <alias_name> -keyalg RSA -keysize 2048 -validity 10000
詳細は次のとおりです。
<keystore_name>
は、キーストアに付ける名前<alias_name>
は、キーの識別名
コマンド実行中に、いくつか質問があります。そのうち2つは、キーストアのパスワードおよび別名パスワードです。その他の質問は、このキーストアを使用するアプリの所有者を特定するためのものです。
コマンドの実行が完了すると、<keystore_name>.keystore
という名前の新しいファイルが、このコマンドを実行したフォルダの場所に表示されます。
キーストアファイルに関する推奨事項
-
キーストアファイルは、覚えておける場所に保存する。アプリを更新してGoogle Playストアにパブリッシュする際に、このキーストアで署名する必要がある。
-
キーストアの有効期限は長めに設定する(このコマンド例では、キーストアの有効期限を2044年まで延長)。キーストアは期限切れになっても更新できないため、アプリの更新ができなくなる。
-
キーストアは安全な場所に保存する。サードパーティに入手されてしまうと、そのサードパーティが開発者になりすましてアプリに署名し配布するおそれがある。
詳細については、Androidの公式ドキュメントをご覧ください。