前置き
先に下記の親記事を読んで頂くとよいかと思います。
この記事では iOSの開発環境を用意する上で一番躓きやすい、C++プロジェクトをWindowsで開発してMacにRemote Buildをして、Windowsに接続されているiOS実機で動作させるまでの手順を記載します。
動作環境
この手順は以下のバージョンで確認しています。
- Unreal Engine 4.25.0
- iOS 13.4.1
- Visual Studio 2019 Community
- macOS Catalina 10.15.4
- Xcode 11.4.1
下準備
Apple Developer Programに登録する
iOS端末でアプリを動作させるためには、Apple Developer Programに登録して年間99米ドルを支払う必要があります。
WindowsにVisual Studio 2019をインストールする
WindowsでUE4のC++プロジェクトを扱う際には、Visual Studio を使用します。
特にこだわりがなければ、Visual Studio 2019 Community を使用すれば問題ありません。
インストール時にオプションをいくつか設定する必要があります。
- .NET テスクトップ開発
- C++によるデスクトップ開発
- C++によるゲーム開発
- .Net Framework 4.6.2 Targeting Pack(確か必要だったような)
- Windows 8.1 SDK(最新版では項目が無くなっていたような)
※見つからないものは[個別のコンポーネント]の中を探してみてください。
※抜けがありましたらご指摘ください。
WindowsにiTunesをインストールする
WindowsにiTunesがインストールされていない場合は、こちらの手順に従ってiTunesをインストールします。
2020年5月現在、WindowsでiTunesをインストールする方法はMicrosoft Storeに一本化されました。(以前はAppleのサイトからもインストール可能でした)
Microsoft Storeからインストールした場合、フォルダ権限周りの対応が必要となります。以下のリンク先の対応をしてください。
この対応をしないと、iPhonePackagerでipaファイルを実機に転送する際にエラーが出ます。
WinowsにiOSデバイスを接続する
USBケーブルを使用してiOSデバイスをWindowsに接続します。
うまくいかない場合
プロビジョニング プロファイルを用意する
こちらの手順に従ってプロビジョニング プロファイルの準備をしてください。
手順
プロジェクトを作成する
今回はプログラマ向けクイックスタートを参考に、C++のプロジェクトを作ります。
- [プロジェクト選択または新規作成]にて[新規プロジェクトのカテゴリ]の[ゲーム]を選択して[次へ]をクリックする。
- [テンプレート選択]にて[Blank]を選択して[次へ]をクリックする。
- [プロジェクト設定]にて以下のように設定します。
- Visual Studioが起動するとともに、プロジェクトが作成されました。
うまくいかない場合
プロジェクトにC++クラスを追加する
プログラマ向けクイックスタートを参考に、C++クラスを追加してマップに配置してください。
詳細は省略しますが、「6. 応用編」は時間がかかるので「5. 最終結果」まででよいかと思います。
プロジェクト設定でプロビジョニングを設定する
こちらの手順に従ってプロジェクトにプロビジョニング プロファイルを設定します。
うまくいかない場合
プロジェクト設定でプロビジョニング プロファイルがValidにならない
リモートビルドの設定をする
これでようやく実行!…といきたいところですが、C++のプロジェクトをiOSに転送するには、一度Mac側に転送してゴニョゴニョしなければなりません。そのためのリモートビルドの設定をします。
Macでのリモートログイン設定
- [システム環境設定]>[共有]を選択します。
- [リモートログイン]にチェックを入れて、ここでは[すべてのユーザ]に対してアクセスを許可します。
また、後ほどコンピュータ名とユーザ名が必要となるので確認しておきます。コンピュータ名は画面上部のものを、ユーザ名は画面中央付近の「リモートログイン:オン」の箇所にある、アットマーク(@)の前の部分を使用すれば間違いないかと思います。
- 次にMacでの証明書のインポートですが、これは4.18にてWindowsで証明証をインポートしてあればMacでの証明書インポートは不要になりました。
ですのでWindows で iOS をビルドするの「Macの設定」項目2、3の手順は不要となります。
WindowsでのRemote Build設定
- [編集]>[プロジェクト設定…]を選択してプロジェクト設定を開きます。
- [プラットフォーム]>[iOS]を選択します。
- 下の方にスクロールすると[ビルド]->[リモートビルドオプション]という閉じたセクションがあるので、これを開きます。
- [リモートサーバー名]には先ほどのMacのコンピュータ名を入力します。[RSync ユーザー名] には先ほどのユーザ名を入力します。
- [新規SSHキーを生成] ボタンを押して、Windows で iOS をビルドする の「SSHの設定」の手順の通りにSSHキーを入力します。が、私の手元だと表示される内容が違ったので以下に記載します。
- 「続行するには何かキーを押してください」 と表示されるので [Enter] キーを押します。
- PC環境によっては、下図のような表示が出る場合があります。
この場合、一旦コマンドプロンプトを閉じてCygwin Terminalを起動します。
以下のコマンドによって、秘密鍵のパーミッションを修正します。cd /cygdrive/c/Users/ユーザー名/ chgrp -R Users ./.ssh/* chmod 600 ./.ssh/*
その後、もう一度 [新規SSHキーを生成] ボタンを押してSSHキー作成を再開してください。
- 「Enter passphrase for key ‘/cygdrive/c/Users/ユーザー名/.ssh/id_rsa’:」 と表示されたら、自身の秘密鍵のパスワードを入力します。パスワードを設定していない(もしくは思い当たるフシがない)場合は空白のまま [Enter] キーを押します。
- 「Password:」と表示されたら、Macのアカウントのパスワードを入力します。
- 「Enter passphrase (empty for no passphrase):」と表示されたら、空白のまま [Enter] キーを押します。
- 「Enter same passphrase again:」と表示されたら、再び空白のまま [Enter] キーを押します。
- 「続行するには何かキーを押してください」 と表示されるので [Enter] キーを押します。
- 「Enter passphrase for key ‘/cygdrive/c/Users/ユーザー名/.ssh/id_rsa’:」 と表示されたら、自身の秘密鍵のパスワードを入力します。パスワードを設定していない(もしくは思い当たるフシがない)場合は空白のまま [Enter] キーを押します。
- 「Password:」と表示されたら、Macのアカウントのパスワードを入力します。
- 「続行するには何かキーを押してください」 と表示されるので [Enter] キーを押してウィンドウを閉じます。
- 正常に作成されれば、鍵ファイルのファイルパスが自動的に入力されます。(初回は反映までに数十秒かかることがあります)
SSHキーのパーミッションを修正する
- Cygwin Terminalを起動します。
- 以下のコマンドによって、秘密鍵のパーミッションを修正します。
$ cd /cygdrive/c/Users/ユーザー名/AppData/Roaming/Unreal\ Engine/UnrealBuildTool/SSHKeys/Wanchan-Mac/wanchan/ $ chgrp Users ./RemoteToolChainPrivate.key $ chmod 600 ./RemoteToolChainPrivate.key
IPAファイルを生成する
iOS上で動作するアプリケーションを含む IPAファイル を生成します。
- UE4エディタのメニューから、[ファイル]>[プロジェクトをパッケージ化]>[iOS]を選択します。
- 保存先フォルダを聞かれるので、場所を指定します。
- パッケージ化に成功すると、指定したフォルダ内にIPAファイルが生成されます。
うまくいかない場合
IPAファイルをiOSデバイスに転送する
こちらの手順に従って生成したIPAファイルをiOS実機に転送します。
起動してみる
iOS実機側でアプリを起動します。
正しく起動できれば作業完了となります。
最近のコメント