Windows で Unity 製 iOS アプリを無料で開発する(2018年2月 Ver.)

※ この記事は、プロ生ちゃん開発支援プログラム を使って、Unity iOS アプリのビルドに挑戦してくれた なかなか さんに、手順を紹介してもらったものです。


以前「Windows で Unity 製 iOS アプリを無料で開発する」という記事を書きましたが、当時と比べるとかなり環境が変わってしまったので改めて記します。

タイトルの通り Windows で Unity 製の iOS アプリを開発できるようになります。具体的には iOS 端末での動作確認 や App Store へのアプリ提出ができます。デバッグ用の iOS 端末だけ用意する必要がありますが、その他はすべて無料です。また以前よりも簡単にできるようになりました。

※ 以下の内容は 2018年2月時点のものです。Unity 2017.2.1 を使用しました。

用意するもの

  • Windows の開発環境
  • デバッグ用の iOS 端末

対象者

  • Windows で Unity 製の iOS アプリを開発したい方

iOS の開発環境を整えるには?

そもそも iOS のアプリ開発が Windows でできない理由は以下の 3 点です。

  • Build 時に必要なファイルを作成するために Mac での操作が必要
  • iOS アプリを Build するために Mac の Xcode が必要
  • iOS アプリを App Store へ提出するために Mac の Application Loader が必要

つまり Mac での作業が必須になっています。そこで「プロ生ちゃん アプリ開発支援プログラム」を利用します。このサービスではリモートで接続できる Mac を提供してくれています。詳しくはこちらをご覧ください。

これでファイルの作成と App Store への提出ができるようになりました。ただし、ひとつだけ問題があります。リモートで接続された Mac を使用するため、デバッグ用の iOS 端末を USB で接続することができません。つまり Xcode で Build したデータを iOS 端末にインストールすることができません。

そこで Unity の「Cloud Build」を使います。Cloud Build は Unity で作ったものを Cloud 上で自動的に Build してくれるサービスのことで、Build したデータを Unity の Dashboard でインストールできるようになります。

開発段階のアプリなどはメールでデータを受け取ることも可能です。この方法で Xcode や USB を使わずに iOS 端末へデータをインストールすることができます。

Cloud Build について詳しく知りたい方は以下のスライドが参考になります。

まとめると、

  • リモートの Mac で Build に必要なファイルを作成
  • Cloud Build を使って iOS アプリを作成
  • App Store にアプリを提出

これらができるようになれば iOS の開発環境が整います。App Store への提出方法については検索すれば、たくさん出てくるので、この記事では Cloud Build の設定方法を中心に解説していきます。

目標

Unity の Cloud Build を使って iOS アプリを作成する

手順

  1. Cloud Build に必要な p12 File と Mobile Provision File を作成する
    1. プロ生ちゃん アプリ開発支援プログラムに参加する
    2. デバッグ用の iOS 端末を登録する
    3. p12 File を作成する
    4. Mobile Provision File を作成する
  2. Cloud Build を行う
    1. Bundle Identifier を設定する
    2. Unity Collaborate を使う
    3. App Store 用のアイコンを設定する
    4. Cloud Build を行う

p12 File と Mobile Provision File を作成

「プロ生ちゃん アプリ開発支援プログラム」に参加

次の開発支援プログラムに参加してリモートで Mac に接続できる環境を作ります。※ 開発支援プログラムを使わない場合は、Mac 環境の用意と、Apple Developer Program の登録、Unity の Cloud Build が使えるプランを購入する必要があります。

また、この開発支援プログラムでは App Store にアプリを提出するためにかかる年間99ドルの費用と Cloud Build の費用を負担してくれます。こちらも合わせて参加してください。

デバッグ用の iOS 端末を登録する

Apple Developer Program への登録が完了したら、以下のスライドの 18~20 を参考に用意した iOS 端末の Device 登録を行ってください。以降の操作は Mac で行うことをオススメします。

※ 次の手順を行う前に

次の手順で p12 File を作成しますが、その際 Certificate と App ID というものが必要になります。少しややこしいので先に説明します。

  • Certificate には Development(開発用)と Production(配布用)の 2 種類があります。Cloud Build では常に配布用の Production を使用するので、Production の「App Store and Ad Hoc」を選択してください。ひとつ作れば複数のアプリで使いまわすこともできます。
  • App ID はアプリの開発段階では「* (Wildcard)」を作ることをオススメします。* は複数のアプリで使いまわすことができます。App Store へ公開する場合はアプリごとに App ID が必要なため、 * を使わず適宜作成してください。

p12 File を作成する

p12 File は ひとつ作れば使いまわせます。既に作成してある場合はここを飛ばしても構いません。以下のサイトを参考に p12 File を作成してください。

Mobile Provision File を作成する

Mobile Provision File には Development(開発用)と Distribution(配布用)があります。Cloud Build では常に Distribution(配布用)のみを使いますが、さらに Ad Hoc と App Store の 2 種類に分かれています。Ad Hoc は開発段階で必要になります。App Store は App Store へのアプリ提出時に必要です。

Ad Hoc の Mobile Provision File は、ひとつ作れば複数のアプリで使いまわすことができるので、既に作成してある場合はここを飛ばしても構いません。

App Store はアプリごとに必要なので適宜作成します。以下のサイトを参考に Mobile Provision File を作成してください。Certificate の作成は飛ばして構いません。

お疲れ様でした。ひとまず p12 File と Mobile Provision File の準備ができました。この2個のファイルを Windows PC へ送ってください。ここからは Windows での操作になります。

Cloud Build を行う

Bundle Identifier を設定する

PlayerSettings → Setting For iOS → Other Settings を開きます。Bundle Identifier という項目があるのでご自身で考えた ID を設定してください。

Unity Collaborate を使う

一旦 Unity へ戻ってください。既に Build 対象のプロジェクトを Git で管理している方はここを飛ばしても構いません。

Unity Collaborate を使用して Cloud Build を行います。以下のサイトを参考に Unity Collaborate を使ってサーバーにアップロードしてください。ちなみに Unity の Personal バージョンでは 1GB の容量を使えます。

App Store 用のアイコンを設定する

開発段階の場合はここを飛ばしても構いません。

Xcode 9 以降、アプリを申請する場合は App Store アイコンの設定が必要になりました。PlayerSettings → Setting For iOS → Icon を開きます。そこで Override For iOS にチェックを入れると App Store Icon を設定できるようになるので、ここに 1024×1024 のアイコンを入れてください。

設定し終わるとこのような感じになります。

※ 注意点

  • Unity のバージョンによってはこの設定項目がありません。無い場合は最新バージョンの Unity にバージョンアップしてください。
  • Override For iOS にチェックを入れたので、Unity 側で設定済みの Default Icon を Icon へ反映してくれません。なのでご自身で Default Icon に使用した画像を Icon に設定してください。

Cloud Build を行う

プロジェクトを Git で管理している方は以下のスライドを参考に Cloud Build を行ってください。

Unity Collaborate を使った方は、以下の順に Cloud Build の設定を行っていきます。

Build Target

Services Window → Cloud Build を開き Build games faster をオンにします。既に Cloud Build の設定を作成している方は、新たな設定を作るために Manage Build Targets → Add new build target を選択してください。

Platform は iOS を選択し次に進みます。

TargetLabel、Unity Version、Auto Build

TargetLabel、Unity Version、Auto Build の設定を行います。

TargetLabel は Default iOS のままで構いません。既に Default iOS で作成している場合は他の名前に変えてください。

Unity Version には今使っている Unity のバージョンを選択してください。

Auto Build は Unity Collaborate を更新したら自動的に Cloud Build を行うかのチェックです。好きなタイミングで Cloud Build を行いたい方はチェックを外してください。

Bundle ID、Xcode Version、Choose iOS Credential

次の項目では Bundle ID、Xcode Version、Choose iOS Credential を設定します。

Bundle ID には作成した Bundle Identifier を入れます。

Xcode Version は特に理由が無ければ Latest compatible Versionで大丈夫です。

Choose iOS Credential は 既に AdHoc の Mobile Provision File で作成した Provisioning Credential があり、かつ開発段階の場合はそれを選択して Build を開始してください。

まだ作成していない、または App Store へ提出する場合は以下の手順で新たに作成します。

Choose iOS Credential

Choose iOS Credential を設定します。Add New Provisioning Credential を選択してください。すると下に設定項目が出てきます。

Mobile Provision File と p12 File、p12 File のパスワードを入力してください。

Name には今から作成する Provisioning Credential の名前を入れます。AdHoc の Mobile Provision File を設定した場合、複数のアプリで使いまわすことができるので AdHoc* などの分かりやすい名前がオススメです。App Store へ提出する場合はそのアプリ固有のものであるとわかる名前を付けてください。 

Build 開始

これでようやく Build 開始です。お疲れ様でした!

開発段階の場合は Build 完了後、 Unity に登録したアドレス宛にメールが届くので iOS 端末で受け取りデータをダウンロードしてください。

App Store へ提出する場合は Unity の Dashboard からプロジェクトを開き Cloud Build へ移動すると ipa ファイルができているのでダウンロードしてください。ipa ファイルは Mac の Application Loader を使えば iTunes Connect にアップロードできます。

※ うまくいかないときは…

Cloud Build に失敗した場合は Dashboard の Cloud Build の項目にログがあるのでエラー内容を確認してください。それでも解決できない方は、使用している Asset を ReImport する、Cloud Build の Xcode Version を下げる、などの対応を行ってみてください。私はよくこれで解決しています。

最後に

もしどこかで詰まってしまったら、開発支援の方や私(@oioinknk3you)まで連絡をいただければと思います。

何か手助けできるかもしれません。また、Unity Collaborate を使えば簡単に Cloud Build ができるので、以前試してできなかった方も一度試していただければ嬉しいです。

知識がゼロだった私にも開発支援は丁寧にサポートしてくれたので、無事 iOS アプリのリリースができました。ぜひぜひお試しください。