iOS向けプロジェクトをMacで開発する

UE4

前置き

この記事は、先に下記の親記事を読んで頂くとよいかと思います。
【UE4】いろんなパターンのiOSアプリ開発環境を用意してみる

UE4オフィシャルドキュメントの「iOSクイックスタート」を参考に、
MacにてBlueprintプロジェクトを作成してiPhone実機で動作させるまでの手順を記載します。

なお、Macの場合はBlueprintプロジェクトもC++プロジェクトも手順はほぼ同一なのでまとめて紹介します。

iOS クイックスタート | Unreal Engine

手順

基本的に「iOSクイックスタート」の手順に沿って対応していきます。
各ページにプラットフォームを選択する箇所があるので、今回は Mac を選択してください。

オペレーションシステムは Mac OS を選択

インストールの前提条件

1.インストールの前提条件 | Unreal Engine

Xcodeの最新版をインストールします。この記事執筆時のバージョンは 11.0 です。

プロジェクトを作成する

2.プロジェクトの作成 | Unreal Engine

ブループリントのタグの中から好きなテンプレートを選択してプロジェクトを作ります。今回はチュートリアルと同じように Third Personテンプレートを使用します。

C++を作成したい場合は、プログラマ向けクイックスタートを参考に作成してください。
詳細は省略しますが、「5 – 応用編」は時間がかかるので「4 – コードをテストする」まででよいかと思います。

iOS プロビジョニング- 署名証明書の生成

3. iOS プロビジョニング- 署名証明書の生成 | Unreal Engine

チュートリアルの手順通りに、XcodeのPreferencesにてApple IDの追加と、証明書の作成を行います。


Xcodeで証明書を作成することで、Apple Developer Programのサイトにも自動的に追加されます。

iOS プロビジョニング- デバイスの追加

4. iOS プロビジョニング- デバイスの追加 | Unreal Engine

開発機の登録をします。一度登録すればその機種は変更することはありません。
今後開発端末が増える度に追加していきます。

iOS プロビジョニング- App ID の作成

5. iOS プロビジョニング- App ID の作成 | Unreal Engine

開発するアプリのIDを作成します。チュートリアルで使用している *(ワイルドカード)は、開発の時に使えるジョーカーのようなもので、Bundle IDを指定しなくてもよくなります。開発の時はそれでもよいのですが、完成版に仕上げる際には結局IDを指定しないといけないので、この時点でIDを決めておいた方が後々になって慌てることもないかと思います。

今回はテストなので com.soramame.iosmacbponly というBundle IDにしてみました。

iOS プロビジョニング- プロビジョニングの作成とインポート

6. iOS プロビジョニング- プロビジョニングの作成とインポート | Unreal Engine

これまでに登録した情報を用いてプロビジョニングプロファイルを作成します。
作成したプロビジョニングプロファイルをダウンロードすることで、以下のようになっているはずです。

※入力した情報によってファイル名は異なる可能性があります。

デバイスでマップをテストする

7.デバイスでマップをテストする | Unreal Engine

いよいよこれまで作成したファイルをUE4にインポートします。
「Project Settings」にてチュートリアルの手順の通り、ProvisionファイルとCertificateファイルをインポートします。私が操作した時は、Provisionファイルをインポートしたら自動的にCertificateファイルもインポートされました。
それぞれ、追加された情報の左側にチェックボックスがあるのでチェックしておきます。

次に、Bundle IDがワイルドカードではないので、先ほど指定した Bundle IDを入力します。
これで下図のようになります。

正しく設定しているのにNo Valid Certificate Foundのままになってしまう
ここでややこしいのが、ProvisionファイルとCertificateファイルとBundle IDが正しかったとしても、登録の反映に時間がかかるためか、Provisionの右側が Valid にならず、No Valid Certificate Found のままになっています。
設定自体がきちんと出来ていれば、次の日の夜には Valid に変わるのですが、それまで表示がこのままなのでうまくいっているのかわかりにくいです。
きちんと設定出来ていれば、この表示の状態でもiOS実機で動作させることが可能です。

それではチュートリアルの通りに、Launch -> iOSデバイス名 を選択して起動してみます。

うまくいけば、Macに接続してるiOSデバイスに開発アプリが転送されます。

ゲームをパッケージ化する

8.ゲームをパッケージ化する | Unreal Engine

一つ前の起動確認が出来ていれば、パッケージ化もすんなり成功するかと思います。