U
タブ 05モバイルへ書き出す7 レッスン — タップで開く
06 / 07 · 8 分
モバイルへ書き出す

iOS へ書き出す

ここまでのプロジェクト

Assets/ の外

signed .apk / .aab

プロジェクトの設定

keystoreiOS moduleXcode projectMetal only

すでにあるものこのレッスンで追加

iOS は Android より難しいのではありません、ただ行程が長いだけです。Unity はアプリを直接作らず——あとであなたがビルドする Xcode プロジェクトを出力します。

アニメーション図

ノッチ、ホームインジケータ、タブレット——セーフエリアが本当に重要になってくるのが iOS です。

必要なもの

  • Mac が一台。macOS なしで iOS 向けにビルドする公式の手段はなく、クラウドのビルドサービスが唯一の代替策です。

  • App Store から Xcode、それに Unity Hub 内の iOS Build Support モジュールを加えます。

  • 自分の実機で動かすだけなら、無料の Apple ID で 7 日間足ります。TestFlight と App Store を使うには 99 USD/年の Developer Program が必要です。

iOS の Player Settings

  1. 1

    File▸Build Profiles▸iOS▸Switch Platform.

  2. 2

    Other Settings → Bundle Identifier を com.yourstudio.yourgame にします。Apple のポータルに登録した内容と一致していなければなりません。

  3. 3

    Target minimum iOS Version は 13.0 以上、Architecture は ARM64 にします。

  4. 4

    必要な Usage Description はすべて入力します(カメラ、マイク、フォトライブラリ)。説明が空欄のビルドは Apple に通してもらえません。

  5. 5

    Graphics APIs は Metal だけにして、OpenGLES は完全に外します。Apple がサポートを終えたものです。

ビルド → Xcode → 実機

  1. 1

    Build を押すと、Unity は Xcode プロジェクトのフォルダを出力するだけで、.ipa は作られません。

  2. 2

    Xcode で Unity-iPhone.xcodeproj を開きます。

  3. 3

    Signing & Capabilities → Automatically manage signing にチェックを入れ、Team を選びます。

  4. 4

    iPhone を接続して実行先に選び、⌘R を押します。

  5. 5

    スマホ側では:設定 → 一般 → VPN とデバイス管理 → から開発者証明書を信頼します。

ノッチを正しく扱う

reuse the SafeAreaFitter from the touch controls lesson
// Put SafeAreaFitter on every full-screen UI panel.

// Quick check in code
void Start()
{
    Debug.Log($"screen {Screen.width}x{Screen.height}, safe area {Screen.safeArea}");
    // iPhone with a notch: safeArea.y > 0 and height < Screen.height
}

Android と iOS——実際に違うのはどこか

✓ Android

APK をそのままビルドできて、インストールは数秒で終わります。その代わり、対応すべき機種は無数にあります。

✓ iOS

Xcode の工程が挟まり、署名も審査もあります。その代わり機種は数えるほどで、GPU の挙動は読みやすい側面があります。

TestFlight は四ステップ

  1. 1

    App Store Connect で、同じ Bundle Identifier を使ってアプリのレコードを作成します。

  2. 2

    Xcode で Product → Archive、続けて Distribute App → App Store Connect → Upload。

  3. 3

    処理の終わり(10〜60 分)を待ち、TestFlight で内部テスターを追加します。

  4. 4

    内部テスター(最大 100 人)は審査不要です。外部テスターの場合は、短くても審査を通す必要があります。

レッスン部分はすべて終了——課題が一つ残るのみ

  • シーンを作り、C# でスクリプトを書き、キャラに動きを与え、スキルと装備を付け、カメラを操り、環境を整えて、スマホまで出すことができました。

  • 次の一歩は別のチュートリアルではありません。とても小さなゲームを一本、他人がインストールできるところまで作り切ることです。

  • 小さいとは、シーン一つ、ゲームプレイ一つ、遊べる時間 5 分ということです。それを作り切れば、始めた人の大半より前に出ています。