はじめに
iOSゲーム開発で必須の対応となる証明書作成とプロビジョニング プロファイルの作成方法を記載します。
WindowsとMacの両方での対応方法を記載していますが、両方の開発環境がある場合は、Macで作成することをお勧めします。理由は私が、Macで作成した証明書をWindowsに登録する方法はわかっているのですが、Windowsで作成した証明書をMacで登録する方法がわかっていないためです。(ご存知の方は是非ご教示ください!)
UE4プロジェクトを作成する(Windowsのみ)
Windowsでは公式ドキュメントの「iOS プロビジョング」というページの手順に沿って対応します。
Windowsでプロビジョニングを作成するにはUE4プロジェクトが必要となるため、ひとまずプロジェクトを作成します。
- [プロジェクト選択または新規作成]にて[新規プロジェクトのカテゴリ]の[ゲーム]を選択して[次へ]をクリックする。
- [テンプレート選択]にて[サードパーソン]を選択して[次へ]をクリックする。
- [プロジェクト設定]にて以下のように設定します。
- プロジェクトが作成されたことを確認したら、エディタは閉じてしまって問題ありません。
Signing Certificateの下準備
Signing Certificateとは、開発用署名証明書という意味で、ざっくり言うとiOSアプリを開発するために必要な証明書です。
Windowsの場合
Windowsの場合、UE4が証明書の生成のために Unreal iOS 構成ウィザード (iPhonePackager) アプリケーションを提供していますので、そちらを使って手順をすすめます。
- 下記のフォルダに移動します。
C:\Program Files\Epic Games\UE_4.xx\Engine\Binaries\DotNET\IOS
※「UE_4.xx」はインストールしているUE4のバージョン名
- iPhonePackager.exe を実行します。
iPhonePackagerは頻繁に使用しますので、ショートカットなど直ぐにアクセスできるようにしておくことをお勧めします - iPhonePackagerを実行するとUE4プロジェクトを指定するように求められるので、先ほど作成した「.uproject」を指定します。
- [New User (新しいユーザー)] タブを選択して [Create certificate request and a key pair…(証明書要求キーペアを作成…)] ボタンをクリックします。
- [Generate Certificate Request (証明書要求を生成)] ダイアログが開くので、メール アドレス、氏名 (または会社名)を入力します。
- [Generate a key pair (キー ペアを生成)] をクリックして .key ファイルを保存する場所を選択します。
- [Generate Certificate Request (証明書要求を生成)] をクリックして .csr ファイルを保存します。
Macの場合
Macの場合、以前まではXcode上で[iOS Development]の開発証明書を生成することができたのですが、2020年5月現在のXcode11.4.1では[Apple Development]という全てのデバイスを含む開発証明書に統合されました。
UE4は Apple Development をiOSビルドに使用することができないため、Xcodeからの開発証明書の生成は利用できなくなりました。(楽だったのに!)仕方がないのでキーチェーン から生成します。
- キーチェーンアクセスを起動します。
- メニューから、[キーチェーンアクセス]>[証明書アシスタント]>[認証局に証明書を要求]を選択します。
- 証明書アシスタントに以下を入力します。
- ユーザーのメールアドレス:
開発者のメールアドレス - 通称[Common Name]:
適当な名前を付けられるが、他のキーチェーンの項目と見分けられるようにすること - CAのメールアドレス
無記入でよい (要求の処理をディスクにするので必須ではない) - 要求の処理 :
ディスクに保存 と 鍵ペア情報を指定にチェック
- ユーザーのメールアドレス:
- [CertificateSigningRequest.certSigningRequest]を保存する場所を求められるので、任意の場所を指定します。
- [鍵ペア情報]はデフォルトの[鍵のサイズ : 2084ビット]、[アルゴリズム : RSA] であることを確認します。
- ファイルが保存されました。
- キーチェーンアクセスの[鍵]の分類を確認します。([キーチェーン]は[ログイン]を選択)
先ほど[通称]で入力した名称の公開鍵と秘密鍵が登録されています。この内の秘密鍵は、認証のために常に必要となりますので消さないようにしてください。
もし削除してしまった場合は証明書アシスタントから全てやり直して証明書を作成する必要があります。(個人情報交換ファイル(.p12)を使用すれば復帰可能)
Signing Certificateを生成する
- Apple Developer Program の Certificates ページにアクセスします。
- [Create a certificate]を選択します。(2つ目以降は [+] をクリックします)
- [iOS App Development] を選択して [Continue (続ける)] をクリックします。
- [Choose File (ファイルを選択)] では、WindowsとMacで指定するファイルが異なります。
- [Generate (生成)] をクリックします。
- 証明書 (.cer) ファイルをコンピュータにダウンロードします。ios_development.cerというファイルが取得できれば完了です。
デバイスの追加
開発機の登録をします。一度登録すればその機種は以後変更する必要はありません。
今後開発端末が増える度に追加していきます。
- Apple Developer Program の Devices ページにアクセスします。
- [Register a Device]を選択します。(2台目以降は [+] をクリックします)
- [Register a Device]のPlatform、Device Name、Device ID (UDID) を入力して[Continue]を選択します。[Register Multiple Devices] は一度に複数の端末を登録する際に使用します。
- 表示される内容を確認して問題なければ[Register]を選択します。
- 登録完了画面が表示されたら[Done]を選択します。
アプリID の作成
開発するアプリのIDを作成します。アプリ ID は 1 つの開発チームによる 1 つ以上のアプリを識別するために使用する 2 つの部分からなる文字列です。
チュートリアルで使用している *(ワイルドカード)は、開発の時に使えるジョーカーのようなもので、その部分のBundle IDを自由に記入できるようになります。
- Apple Developer Program の Identifiers ページにアクセスします。
- [Register an App ID] を選択します。(2つ目以降は [+] をクリックします)
- IDの種類 [App IDs] を選択して [Continue] を選択します。
- [Register an App ID] の [Description] にアプリ名を、 [Bundle ID] はここでは [Wildcard] を選択し、適当な文字列と最後に *(アスタリスク) を記入します。アスタリスクのみの [Bundle ID] は登録できないようになりました。画像内のdomainnameという部分は例ですので別の文字列に変更することをお勧めします。
- 表示される内容を確認して問題なければ[Register]を選択します。
プロビジョニングの作成とインポート
これまでに登録した情報を用いてプロビジョニング プロファイルを作成します。プロビジョニング プロファイルはこれまでに作成した署名証明書、デバイス、アプリ ID を含みます。
プロビジョニング プロファイルには 2 つのタイプがあります。最初のタイプは Development Provisioning Profile (開発プロビジョニング プロファイル) です。これは開発サイクル中にゲームをビルドおよびインストールするために使用します。2 つ目のタイプは Distribution Provisioning Profile (配布プロビジョニング プロファイル) です。これはゲームを App Store に送信するために使用します。
- Apple Developer Program の Profiles ページにアクセスします。
- [Generate a profile] を選択します。(2つ目以降は [+] をクリックします)
- [Development] から [iOS App Development] を選択して [Continue] を選択します。
- [Select an App ID] の [App ID] に先ほど作成した アプリID を選択して [Continue] を選択します。
- [Select Certificates] にて最初の手順で作成した開発用署名証明書を選択して [Continue] を選択します。
- [Select Devices] にてアプリを動かす開発端末を選択して [Continue] を選択します。
- [Review, Name and Generate] にてプロビジョニング名を入力して [Generate] を選択します。
- プロビジョニング プロファイル (.mobileprovision) の生成が完了したら、ファイルをダウンロードします。
用意したファイルの確認
Windowsの場合
最終的にUE4で使用するのは、キーペア(.key)ファイルと開発証明書 (.cer) ファイルとプロビジョニング プロファイル (.mobileprovision) です。
Macの場合
最終的にUE4で使用するのは、開発証明書 (.cer) ファイルとプロビジョニング プロファイル (.mobileprovision) ですが、キーチェーンアクセスに証明書アシスタントで作成した秘密鍵が登録されている必要があります。もしくは秘密鍵情報を含んだ個人情報交換ファイル(.p12)が必要です。
プロジェクト設定でプロビジョニングをインポートする
こちらの手順に従ってプロジェクトにプロビジョニング プロファイルを設定します。
Macで作成した証明書をWindowsで使用する
Macにて証明書のインポートが完了しているものとします。
正しくインポートができていれば、キーチェーンアクセスの[証明書]を確認すると、下図のように証明書と秘密鍵が階層構造で表示されます。
この状態で、証明書を [右クリック]>[ …を書き出す] を選択すると、パスワードを設定した後、個人情報交換ファイル(.p12)という秘密鍵を含んだファイルを出力することができます。
このファイルをWindowsに持っていき、UE4の[プロジェクト設定] の [証明書をインポート]から個人情報交換ファイル(.p12)を選択すると、Windowsでもプロビジョニング プロファイルを有効化することができます。(インポート時には設定したパスワードを入力する必要があります)
最近のコメント