Unity: UnitySetup-iOS-Support-for-Editorのインストールに失敗するときの解決法
UnityでiOSのアプリをビルドするためには、
ビルドサポート用のパッケージをインストールする必要があります。
先日このパッケージのインストールに失敗したので、
解決法と原因の解説を記しておきます。
環境
この記事は2018/12/16時点での情報です。
環境 | バージョン |
---|---|
macOS | Mojave 10.14.2 |
Unity Hub | 1.3.2 |
Unity | 2018 3.0f2 |
iOSSupport | UnitySetup-iOS-Support-for-Editor-2018.3.0f2 |
TL;DR 解決法
~/Applications/Unity
以下にUnity.appを置く。
インストール失敗の原因
ビルドサポート用のパッケージをインストールするためには、
Unity.app内部にあるInfo.plistというファイルの情報が必要なのですが、
Unity.appを別の場所へ移動していたり、名前を変えていた場合、
インストーラーがInfo.plistを見つけることができなくなり、
インストールに失敗するということでした。
Turns out the Unity app has to be located in /Applications/Unity and has to be called Unity.app
To find the version number the pre install script looks specifically at
$DSTVOLUME/Applications/Unity/Unity.app/Contents/Info.plist if that files doesn't exist the installer fails without any indication as to why
from:
https://forum.unity.com/threads/cant-install-ios-build-support.395608/#post-3140717
(以下、使用するUnityのバージョンを2018 3.0f2とします。違うバージョンの場合適宜読み替えてください)
私の場合、Unity Hubを経由してUnityをインストールしていたのですが、
Unity Hubを経由した場合、Unity.appは、
~/Applications/Unity/Hub/Editor/2018 3.0f2
以下に配置されます。
ところが、先述の通りインストーラーは
~/Applications/Unity
を参照しようとします。
その結果、インストーラーはUnity.appを見つけることができず、
インストールが失敗してしまうことになったようです。
なので、ここからUnity.appを~/Applications/Unity以下に移動することで、
インストールを正常に行うことができるようになります。
注意点
Unity Hubを使用している場合で上記のような対応を行った場合、
Unity HubからそのバージョンのUnityエディタを起動することができなくなります。
今度はUnity HubがUnity.appを見つけることができなくなるからです。
これを修正するためには、
iOSサポート用のパッケージをインストール後、
1. Unity.appを元の場所に戻す
2. Unity HubのInstallタブのLocate a Versionから元に戻したエディタを選択する
3. ~/Applications/Unity以下にあるPlaybackEngines/iOSSupportディレクトリを~/Appications/Unity/Hub/Editor/2018 3.0f2以下へ移動する
以上の手続きを行う必要があります。
3番の操作は、PlaybackEngines/iOSSupportをUnity.appと同じ階層下に置かないと、
Unityがインストールしたパッケージを認識できないためです。
思ったこと
Unity Hubは便利だけど、これは罠すぎる...