環境
Unity : 2019.4.20f1
Xcode : 12.4
経緯
- Appleのリジェクトから逃れるために App Tracking Transparency の対応を行った。
- iOS14だけじゃなくて、iOS13でも動作確認したほうがいいよね。
- iOS13 の端末が手持ちになかったのでシミュレーターで検証しよう!
と言うことになった。
前置き
「ipaのビルドくらいまでなら余裕でできるぜ」って人向けな内容になっているかと思います。
なので、シミュレーターに関係のない部分は説明がちょっと雑になってるかもしれません。
失敗談(ざっくり)
※さっさと対応方を知りたいならば、次の項目へジャンプ!
- ビルド済みの「hoge.ipa」をインストールしようと思ったが、軽く調べたら「ipaはインストールできんぞ!」と言われていたので諦めた。
- 次に軽く調べたら「hoge.app をシミュレーターにドラッグ$ドロップすればインストールできるよ!」と言われていたので早速ドラッグ&ドロップ。
- インストールできたけどアプリが即クラッシュ。
- OSバージョンによってはインストールから失敗する。
成功談
シミュレーターの準備
【OSを落とす】
おそらく、初期状態では最新のOSしか所持していないので、希望のOSを落としてきましょう
- [Xcode]Xcode -> Preferences... -> Components を選択
- 使用したいOSを選択。(DLマークを押すとDLが始まり、DLが終わるとチェックマークに変わります)
【シミュレーターの起動】
- [Xcode]Xcode -> Open Developer Tool -> Simulator を選択でシミュレーターが起動(多分最新OSで起動)
- [Simulator]File -> Open Simulator -> {好みのOSバージョン} -> {好みの機種} を選択で新たにシミュレーターが起動します
アプリの準備
【Unityでの作業】
※手順2の影響で、ビルド時に大量のimportが発生するので、シミュレータービルド用にUnityプロジェクトを複製してから対応した方がいいかもしれません
- [Unity]File -> Build Settings -> Player Settings... を選択でPlayerSettingsを開く
- [PlayerSettings]OtherSettings -> TargetSDK を「DeviceSDK」から「SimulatorSDK」に変更する(これをしないとシミュレーターでクラッシュします)
- いつも通り、XcodeProjectをビルドしましょう
【Xcodeでの作業】
- いつも通りXcodeProjectをXcodeで開きましょう
- [Xcode]Product -> Buildを実行
- ビルドの完了を待つ
- [Xcodeウィンドウ内]Unity-iPhone/Products/Unity-Target-New.app があることを確認(Show in Finder で開き、容量が0KBじゃないならOK)
シミュレーターにインストール
- シミュレーターの準備で開いたシミュレーターにUnity-Target-New.appをドラッグするだけ!