Windows で iOS をビルドする

Windows マシンから Mac マシンに対してリモート コンパイルを行い iOS ビルドを作成する方法

Windows
MacOS
Linux
Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

iOS 用に署名つきビルドを作成するには Mac と Apple Developer アカウントが必要です。ただし、Windows マシンを主に使用するチームの場合、Unreal Engine 4 (UE4) は Windows PC と Mac PC の間に SSH 接続 を確立して iOS ビルドをリモートで行うことが可能です。そのためには、SSH 接続を Mac 上で受信可能にし、SSH キーと資格情報を Windows 端末で設定する必要があります。この操作ガイドでこのプロセスを説明します。

Windows でブループリントだけの iOS プロジェクトを作成する

ブループリントだけ の iOS プロジェクトを作成する場合、以下のセクションで説明するリモート ビルド プロセスを完全に使用する必要はありません。その代わり、エディタに iOS デベロッパー証明書プロビジョニング プロファイル を設定しているのであれば、Windows マシンを使って直接 iOS ビルドを作成することができます。ただし、今後プロジェクトに C++ コードを追加する場合は、このページで説明する手順に従ってください。

ビルドに署名を付ける方法については、「iOS プロビジョニング(Platforms/Mobile/iOS/Provisioning)」を参照してください。

1. 必要なセットアップ

IOS リモート ビルドを使用するには、iOS プロジェクトをビルドできる Mac と Windows PC がそれぞれ最低 1 台ずつ必要です。両方のマシンでインターネット接続ができ、かつ両方に同じ UE4 プロジェクトがなければなりません。

iOS プロジェクトに必要なバイナリがあることを確認するために Windows マシンに iTunes をインストールする必要があります。iTune のダウンロードおよびインストールは Windows Store からではなく Apple のウェブサイト から行うことを推奨します。Windows 版にはリモート ビルド プロセスの障害となることがある余計なバイナリが含まれているためです。iTune を Apple から直接取得するには、下にスクロールして「Looking for other versions? (他のバージョンをお探しですか?)」というセクションで Windows をクリックします。

Mac の システム キーチェーン に iOS デベロッパー証明書をインストールし、iOS プロビジョニング に従ってプロジェクト用にプロビジョニング プロファイルを設定しなければなりません。

Mac にプロジェクトにビルドを作成するための設定を行ったら、次のセクションへ進む前に動作の確認のため、最低 1 回はそのマシンで直接ビルドを実行してください。

2. Mac へのリモート ログインを有効にする

プロジェクトの設定が完了したら、SSH 接続ができるように Mac を設定する必要があります。

  1. Mac の [System Preferences (システム環境設定)] を開いて [Sharing (共有)] をクリックします。

  2. [Remote Login (リモートログイン)] のボックスにチェックを入れます。

  3. [System Preferences (システム環境設定)] を開いて > [Network (ネットワーク)] をクリックします。

  4. コンピュータの [IP Address] に注目してください。Windows PC 上でリモート接続を設定するためにこれが必要となります。

これらの手順を完了すると、Mac はご使用の PC から送信される SSH 接続を受信できるようになります。

3. Windows の設定と SSH キーの生成

Windows マシンで以下の手順を行ってリモート iOS ビルドの設定をします。

  1. Unreal Editor でプロジェクトを開いて [Project Settings (プロジェクト設定)] を開きます。

    Locating the project settings in the Edit menu

  2. [Platforms (プラットフォーム)] > [iOS] > [Build] の順に選択します。

    The Platforms/iOS section

  3. [Remote Server Name (リモートサーバー名)] 入力フィールドに、プロジェクトのビルドに使う Mac 名または IP アドレスを入力します。

  4. [Remote Server Name] 入力フィールドに、リモートの Mac へのログインに通常使用するユーザー名を入力します。

  5. [Generate SSH Key (SSH Key を生成)] をクリックします。SSH キーを生成する一連のプロンプトの付いたコマンド プロンプト ウインドウが開きます。

  6. ホストの認証ができないというメッセージを受信した場合は、プロンプトに「yes」と入力して続けます。

  7. 前の手順で [Remote User Name (リモート ユーザー名)] 入力フィールドに指定したユーザーに属する パスワード を入力します。

  8. プロンプトが パスフレーズ の入力を要求します。パスフレーズを入力しない場合は、ユーザー インタラクションを要求なしにリモート接続を使用することができます。

  9. プロンプトが表示されたら、Mac の パスワードユーザー名 を再度入力してプロセスを完了します。

SSH キーを生成すると、Windows マシンで Mac へのリモート接続を開始して iOS ビルドを作成することができるようになります。

Unprotected Private Key エラーの対応方法

以下のようなエラーが出る場合があります。

ERROR:Unable to determine home directory for remote user.SSH output:...WARNING:UNPROTECTED PRIVATE KEY FILE!...0660

このエラーが出ない場合は、次の手順へ進むことができます。このエラーが出た場合は、以下の手順で解決します。

  1. Microsoft から SubInACL command line tool をダウンロードします。

  2. [Command Prompt (コマンド プロンプト)] タスク バー アイテムを右クリックして [Run as Administrator (管理者として実行)] を選んで Administrator Command プロンプトを開きます。

  3. 以下のコマンドを実行します。

    SubInACL /File "C:\Users\MyUserName\AppData\Roaming/Unreal Engine/UnrealBuildTool/SSHKeys/10.1.1.1/remoteusername/RemoteToolChainPrivate.key" /setprimarygroup=Users

    パスを自分の鍵に変更してこのコマンドを実行します。こうすることで、グループ権限の確認時に SSH が問題としていた、ファイルのプライマリ グループが自分のユーザー名とは異なるものに変更されます。この後プロセスは正常になります。

4. オプションのチーム設定

今後他のプロジェクトにこのデータを共有するには、コンピュータの「*Engine.ini」ファイルの 1 つに [Remote Server Name (リモート サーバー名)] と [Remote User Name (リモート ユーザー名)] を指定します。

  1. Remote Server Name プロパティの横にあるボタンを選択して コンフィギュレーション エディタ を開きます。

    The config editor button next to the Remote Server Name property

  2. SSH データを共有するそれぞれの .ini ファイルにプロパティを設定します。

    Editing the .ini files with the config editor

  3. これらの手順を Remote User Name に対しても行います。

これらの .ini ファイルを共有することにより、複数のプロジェクトまたはユーザーが SSH 情報を利用できるようになります。SSH キーは「Engine/Build/SSHKeys」フォルダに格納されます。このディレクトリをソース コントロール システムにチェックインすれば、自分のチームと共有することができます。

5. 最終結果

上記の手順を完了すると、使用している Windows マシンの Unreal Editor で [File] > [Package Project] > [iOS] をクリックすることでリモート ビルドを開始することができます。SSH 接続を行い、Mac にコマンドを送信してビルドの作成を開始します。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback