跳至主要内容

从 macOS 开始添加 iOS 作为目标平台

要将 iOS 作为 Flutter 应用的目标平台添加到 macOS,请按照以下步骤操作。

此步骤假定您在 Flutter 入门路径从 macOS 开始时安装了 Xcode 16。

配置 iOS 开发

#

安装和配置 Xcode

#

本节假定您在为 macOS 桌面 开发安装 Flutter 时已安装并配置了 Xcode。

尽量使用 Xcode 的最新版本。

配置目标 iOS 设备

#

使用 Xcode,您可以在 iOS 设备或模拟器上运行 Flutter 应用。

配置 iOS 模拟器

#

要准备在 iOS 模拟器上运行和测试您的 Flutter 应用,请按照以下步骤操作。

  1. 要安装 iOS 模拟器,请运行以下命令。

    xcodebuild -downloadPlatform iOS
  2. 要启动模拟器,请运行以下命令

    open -a Simulator
  3. 将模拟器设置为使用 64 位设备。这包括 iPhone 5s 或更高版本。

    • 在 **Xcode** 中,选择一个模拟器设备类型。

      1. 转到 **窗口** > **设备和模拟器**。

        您也可以按 Cmd + Shift + 2

      2. 打开 **设备和模拟器** 对话框后,点击 **模拟器**。

      3. 从左侧列表中选择一个 **模拟器**,或按 **+** 创建一个新的模拟器。

    • 在 **模拟器** 应用中,转到 **文件** > **打开模拟器** > 选择您的目标 iOS 设备。

    • 要检查模拟器中的设备版本,请打开 **设置** 应用 > **通用** > **关于本机**。

  4. 模拟的高屏幕密度 iOS 设备可能会超出您的屏幕。如果在您的 Mac 上出现这种情况,请在 **模拟器** 应用中更改显示大小。

    显示大小菜单命令键盘快捷键
    **窗口** > **物理尺寸**Cmd + 1
    中等**窗口** > **精确点**Cmd + 2
    高清精确**窗口** > **像素精确**Cmd + 3
    适应屏幕**窗口** > **适应屏幕**Cmd + 4

设置目标物理 iOS 设备

#

要将 Flutter 应用部署到物理 iPhone 或 iPad,您需要执行以下操作

  • 创建一个 Apple 开发者 帐户。
  • 在 Xcode 中设置物理设备部署。
  • 创建开发配置文件以自签名证书。
  • 如果您的应用使用 Flutter 插件,请安装第三方 CocoaPods 依赖项管理器。
创建您的 Apple ID 和 Apple 开发者帐户
#

您现在可以跳过此步骤。在您准备好将应用分发到 App Store 之前,您实际上不需要 Apple 开发者帐户。

如果您只需要测试部署应用,请完成第一步,然后转到下一节。

  1. 如果您没有 Apple ID,请创建一个。

  2. 如果您尚未加入 Apple 开发者 计划,请立即加入。

    要了解有关会员类型的更多信息,请查看 选择会员资格

将您的物理 iOS 设备连接到 Mac
#

配置您的物理 iOS 设备以连接到 Xcode。

  1. 将您的 iOS 设备连接到 Mac 上的 USB 端口。

  2. 首次将 iOS 设备连接到 Mac 时,您的 iOS 设备会显示 **信任此计算机?** 对话框。

  3. 点击 **信任**。

    Trust Mac

  4. 出现提示时,解锁您的 iOS 设备。

在 iOS 16 或更高版本上启用开发者模式
#

从 iOS 16 开始,Apple 要求您启用 **开发者模式** 以防止恶意软件。在部署到运行 iOS 16 或更高版本的设备之前,请启用开发者模式。

  1. 点击 **设置** > **隐私与安全** > **开发者模式**。

  2. 点击切换 **开发者模式** 为 **开启**。

  3. 点击 **重新启动**。

  4. iOS 设备重新启动后,解锁您的 iOS 设备。

  5. 出现 **打开开发者模式?** 对话框时,点击 **打开**。

    对话框说明开发者模式需要降低 iOS 设备的安全性。

  6. 解锁您的 iOS 设备。

启用开发者代码签名证书
#

要部署到物理 iOS 设备,您需要与 Mac 和 iOS 设备建立信任关系。这要求您将签名的开发者证书加载到您的 iOS 设备上。要在 Xcode 中签名应用,您需要创建一个开发配置文件。

要预配项目,请按照 Xcode 签名流程操作。

  1. 启动 Xcode。

  2. 转到 **Xcode** > **设置...**

    1. 转到 **Xcode** > **设置...**
    2. 点击 **账户**。
    3. 点击 **+**。
    4. 选择 **Apple ID** 并点击 **继续**。
    5. 出现提示时,输入您的 **Apple ID** 和 **密码**。
    6. 关闭 **设置** 对话框。

    开发和测试支持任何 Apple ID。

  3. 转到 **文件** > **打开...**

    您也可以按 Cmd + O

  4. 导航到您的 Flutter 项目目录。

  5. 打开项目中的默认 Xcode 工作区:ios/Runner.xcworkspace

  6. 在运行按钮右侧的设备下拉菜单中选择您打算部署到的物理 iOS 设备。

    它应该出现在 **iOS 设备** 标题下。

  7. 在左侧导航面板的 **目标** 下,选择 **Runner**。

  8. 在 **Runner** 设置窗格中,点击 **签名与功能**。

  9. 选择顶部的 **全部**。

  10. 选择 **自动管理签名**。

  11. 从 **团队** 下拉菜单中选择一个团队。

    团队是在 Apple 开发者帐户 页面上的 **App Store Connect** 部分创建的。如果您尚未创建团队,可以选择一个个人团队

    **团队** 下拉菜单将该选项显示为 **您的姓名(个人团队)**。

    Xcode account add

    选择团队后,Xcode 将执行以下任务

    1. 创建并下载开发证书
    2. 将您的设备注册到您的帐户,
    3. 根据需要创建并下载配置文件

如果 Xcode 中的自动签名失败,请验证项目的 **通用** > **标识** > **捆绑包标识符** 值是否唯一。

Check the app's Bundle ID

启用 Mac 和 iOS 设备的信任
#

首次连接物理 iOS 设备时,请为 Mac 和 iOS 设备上的开发证书启用信任。

您应该在 将设备连接到 Mac 时已启用了 Mac 在 iOS 设备上的信任。

为 iOS 设备启用开发者证书
#

启用证书在不同版本的 iOS 中有所不同。

  1. 在 iOS 设备上打开 **设置** 应用。

  2. 点击 **通用** > **配置文件与设备管理**。

  3. 点击切换您的证书为 **启用**

  1. 在 iOS 设备上打开 **设置** 应用。

  2. 点击 **通用** > **VPN 与设备管理**。

  3. 点击切换您的证书为 **启用**。

  1. 在 iOS 设备上打开 **设置** 应用。

  2. 点击 **通用** > **VPN 与设备管理**。

  3. 在 **开发者应用** 标题下,您应该找到您的证书。

  4. 点击您的证书。

  5. 点击 **信任“<certificate>”**。

  6. 出现对话框时,点击 **信任**。

如果显示 **codesign 想要访问密钥...** 对话框

  1. 输入您的 macOS 密码。

  2. 点击 **始终允许**。

在 iOS 设备上设置无线调试(可选)

#

要使用 Wi-Fi 连接调试设备,请按照以下步骤操作。

  1. 将 iOS 设备连接到与 macOS 设备相同的网络。

  2. 为 iOS 设备设置密码。

  3. 打开 **Xcode**。

  4. 转到 **窗口** > **设备和模拟器**。

    您也可以按 Shift + Cmd + 2

  5. 选择您的 iOS 设备。

  6. 选择 **通过网络连接**。

  7. 设备名称旁边出现网络图标后,断开 iOS 设备与 Mac 的连接。

如果在使用 flutter run 时未看到列出的设备,请延长超时时间。超时时间默认为 10 秒。要延长超时时间,请将值更改为大于 10 的整数。

flutter run --device-timeout 60

检查开发设置

#

help 帮助

运行 Flutter doctor

#

flutter doctor 命令验证 macOS 上完整 Flutter 开发环境的所有组件。

  1. 打开您的终端。

  2. 要验证所有组件的安装,请运行以下命令。

    flutter doctor

由于您选择为 iOS 开发,因此您不需要所有组件。如果您按照本指南操作,则命令的结果应类似于

Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.5, on macOS 14.4.0 23E214 darwin-arm64, locale en)
[!] Android toolchain - develop for Android devices
[!] Chrome - develop for the web
[✓] Xcode - develop for iOS and macOS (Xcode 16)
[!] Android Studio (not installed)
[✓] VS Code (version 1.95)
[✓] Connected device (1 available)
[✓] Network resources


! Doctor found issues in 3 categories.

排查 Flutter doctor 问题

#

flutter doctor命令返回错误时,可能是 Flutter、VS Code、Xcode、连接的设备或网络资源导致的。

如果flutter doctor命令针对任何这些组件返回错误,请使用详细标志再次运行它。

flutter doctor -v

检查输出以获取可能需要安装的其他软件或需要执行的其他任务。

如果更改了 Flutter SDK 或其相关组件的配置,请再次运行flutter doctor以验证安装。

开始使用 Flutter 在 macOS 上开发 iOS 应用

#

恭喜。安装了所有先决条件和 Flutter SDK 后,您就可以开始在 macOS 上为 iOS 开发 Flutter 应用程序了。

要继续您的学习之旅,请参阅以下指南