U
章 05导出到手机7 课 — 点击打开
06 / 07 · 8 分钟
导出到手机

导出到 iOS

到目前为止的项目

Assets/ 之外

signed .apk / .aab

项目设置

keystoreiOS moduleXcode projectMetal only

你已经有的这一课新增

iOS 并不比 Android 更难,只是流程更长。Unity 不会直接给你一个 App —— 它给出的是一个 Xcode 工程,再由你去 build。

动态图解

刘海、home 条和平板 —— iOS 才是安全区真正要紧的地方。

需要准备什么

  • 一台 Mac。没有 macOS 就没有官方支持的 iOS build 办法 —— 只剩云端构建服务这一条路。

  • 从 App Store 装 Xcode,再在 Unity Hub 里加上 iOS Build Support 模块。

  • 免费的 Apple ID 就够你在自己的设备上跑 7 天。要用 TestFlight 和 App Store,就得加入 99 USD/年的开发者计划。

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 都填完整(相机、麦克风、照片)。说明留空的 build 会被 Apple 拒掉。

  5. 5

    Graphics APIs → 只保留 Metal。OpenGLES 整个删掉;Apple 已经弃用它了。

Build → 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

直接 build 出 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# 写脚本、给角色做动画、配上技能和装备、控制相机、布置环境,并发布到手机上。

  • 下一步不是再学一份教程。而是把一个很小的游戏真正做完,做到别人也能装上。

  • 小说是一个场景、一种玩法机制、五分钟的可玩内容。能把它做完,你就已经排在大多数起步的人前面了。