Skip to main content

从网页启动添加 iOS 作为目标平台

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

安装 Xcode

#
  1. 为 Xcode 分配至少 26 GB 的存储空间。 建议分配 42 GB 的存储空间以获得最佳配置。
  2. 安装 Xcode 16 以调试和编译原生 Swift 或 Objective-C 代码。

配置 iOS 开发

#

安装和配置 Xcode

#

要为 iOS 开发 Flutter 应用,请安装 Xcode 以编译为原生字节码。

  1. 打开 App Store 并登录。

  2. 搜索 Xcode

  3. 点击 安装

    Xcode 安装程序需要占用 6 GB 以上的存储空间。 下载可能需要一些时间。

  4. 要配置命令行工具以使用已安装的 Xcode 版本,请使用以下命令。

    sudo sh -c 'xcode-select -s /Applications/Xcode.app/Contents/Developer && xcodebuild -runFirstLaunch'

    此路径适用于最新版本的 Xcode。 如果需要使用其他版本,请指定该路径。

  5. 签署 Xcode 许可协议。

    sudo xcodebuild -license

尽量使用当前版本的 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. 点击**“信任”**。

    信任 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 帐户添加

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

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

如果 Xcode 中的自动签名失败,请验证项目的**“常规”** > “身份” > **“捆绑包标识符”**值是否唯一。

检查应用的捆绑包 ID

启用对您的 Mac 和 iOS 设备的信任
#

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

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

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

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

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

  2. 点击**“常规”** > “描述文件与设备管理”

  3. 点击切换您的证书到**“启用”**

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

  2. 点击**“常规”** > “VPN 与设备管理”

  3. 点击切换您的证书到**“启用”**。

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

  2. 点击**“常规”** > “VPN 与设备管理”

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

  4. 点击您的证书。

  5. 点击**“信任“””**。

  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

安装 CocoaPods

#

如果您的应用依赖于包含原生 iOS 代码的Flutter 插件,请安装CocoaPods。此程序捆绑了 Flutter 和 iOS 代码中的各种依赖项。

要安装和设置 CocoaPods,请运行以下命令:

  1. 按照CocoaPods 安装指南安装 cocoapods

    sudo gem install cocoapods
  2. 启动您首选的文本编辑器。

  3. 在文本编辑器中打开 Zsh 环境变量文件 ~/.zshenv

  4. 复制以下行并将其粘贴到 ~/.zshenv 文件的末尾。

    bash
    export PATH=$HOME/.gem/bin:$PATH
  5. 保存您的 ~/.zshenv 文件。

  6. 要应用此更改,请重新启动所有打开的终端会话。

检查您的开发环境

#

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.27.0, 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 2 categories.

疑难解答 Flutter doctor 问题

#

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

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

flutter doctor -v

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

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

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

#

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

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