软件要求

#

要编写和编译适用于 iOS 的 Flutter 代码,请安装以下软件包。

操作系统

#

Flutter 支持在 macOS 12 (Monterey) 或更高版本上开发。本指南假定您的 Mac 运行 zsh 作为您的 默认 Shell

一些 Flutter 组件需要 Rosetta 2 翻译过程。如果你在 Apple Silicon (ARM) Mac 上进行开发,请安装 Rosetta 2

sudo softwareupdate --install-rosetta --agree-to-license

开发工具

#

下载并安装以下软件包。

  • Xcode,用于调试和编译原生 Swift 或 Objective-C 代码。Xcode 安装还包括 Git,用于管理 Flutter 版本和你自己的源代码版本控制。
  • CocoaPods,用于在原生应用中编译和启用 Flutter 插件。

上述软件的开发者提供这些产品的支持。要解决安装问题,请查阅该产品的文档。

文本编辑器或集成开发环境

#

你可以使用任何文本编辑器或集成开发环境 (IDE) 结合 Flutter 的命令行工具来构建应用。

使用带有 Flutter 扩展或插件的 IDE 可提供代码补全、语法高亮、小部件编辑辅助、调试及其他功能。

流行的选项包括

安装 Flutter SDK

#

要安装 Flutter SDK,你可以使用 VS Code Flutter 扩展,或自行下载并安装 Flutter 包。

使用 VS Code 安装 Flutter

#

要按照这些说明安装 Flutter,请验证您已安装 Visual Studio CodeVS Code 版 Flutter 扩展

提示 VS Code 安装 Flutter

#
  1. 启动 VS Code。

  2. 要打开命令面板,请按 Command + Shift + P

  3. 命令面板中,输入 flutter

  4. 选择Flutter: 新建项目

  5. VS Code 会提示你定位电脑上的 Flutter SDK。

    1. 如果你已安装 Flutter SDK,请点击定位 SDK

    2. 如果你未安装 Flutter SDK,请点击下载 SDK

      如果您尚未按照开发工具先决条件中的说明安装 Git,此选项会将您带到 Flutter 安装页面。

  6. 当提示哪个 Flutter 模板?时,请忽略。按 Esc。你可以在检查开发环境设置后创建一个测试项目。

下载 Flutter SDK

#
  1. 当显示选择 Flutter SDK 文件夹对话框时,选择你想要安装 Flutter 的位置。

    VS Code 会首先将你定位到用户配置文件目录。请选择其他位置。

    考虑使用 ~/development/

  2. 点击克隆 Flutter

    下载 Flutter 时,VS Code 会显示以下弹窗通知:

    Downloading the Flutter SDK. This may take a few minutes.
    Initializing the Flutter SDK. This may take a few minutes.

    下载和安装需要几分钟。如果你怀疑下载已卡住,请点击取消,然后重新开始安装。

    Flutter 安装成功后,VS Code 会显示此弹窗通知:

    Do you want to add the Flutter SDK to PATH so it's accessible
    in external terminals?
  3. 点击添加 SDK 到 PATH

    成功时,会显示通知

    The Flutter SDK was added to your PATH
  4. VS Code 可能会显示 Google Analytics 通知。

    如果你同意,点击确定

  5. 在所有终端窗口中启用 flutter

    1. 关闭,然后重新打开所有终端窗口。
    2. 重新启动 VS Code。

下载然后安装 Flutter

#

要安装 Flutter,请从其存档下载 Flutter SDK 包,将该包移动到你希望存储的位置,然后解压 SDK。

  1. 下载以下安装包以获取 Flutter SDK 的最新稳定版本。

    英特尔处理器Apple 芯片
    (加载中...)(加载中...)

    对于其他发布渠道和旧版本,请查阅 SDK 存档

    Flutter SDK 应下载到 macOS 默认下载目录:~/Downloads/

  2. 创建一个你可以安装 Flutter 的文件夹。

    考虑在 ~/development/ 创建一个目录。

  3. 将文件解压到你希望存储 Flutter SDK 的目录中。

    unzip ~/Downloads/flutter_sdk_v1.0.0.zip \
           -d ~/development/

    完成后,Flutter SDK 应位于 ~/development/flutter 目录中。

将 Flutter 添加到您的 PATH

#

要在终端中运行 Flutter 命令,请将 Flutter 添加到 PATH 环境变量中。本指南假定你的 Mac 运行的是最新的默认 shell,即 zsh。Zsh 使用 .zshenv 文件来设置 环境变量

  1. 启动您偏好的文本编辑器。

  2. 如果存在,请在您的文本编辑器中打开 Zsh 环境变量文件 ~/.zshenv。如果不存在,请创建 ~/.zshenv

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

    bash
    export PATH=$HOME/development/flutter/bin:$PATH
  4. 保存您的 ~/.zshenv 文件。

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

如果您使用其他 Shell,请查阅此关于设置 PATH 的教程

配置 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

设置你的目标物理 iOS 设备

#

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

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

你现在可以跳过此步骤。在你准备将应用分发到 App Store 之前,实际上不需要 Apple Developer 账户。

如果你只需要测试部署你的应用,请完成第一步,然后继续下一节。

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

  2. 如果你尚未注册 Apple Developer Program,请立即注册。

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

将你的物理 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. 在左侧导航面板的 **Targets** 下,选择 **Runner**。

  8. 在 **Runner** 设置窗格中,点击 **Signing & Capabilities**。

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

  10. 选择 **Automatically manage signing**(自动管理签名)。

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

    团队在你的 Apple Developer 账户页面的 **App Store Connect** 部分创建。如果你没有创建团队,可以选择一个*个人团队*。

    Team(团队)下拉菜单将此选项显示为 **Your Name (Personal Team)**(你的姓名(个人团队))。

    Xcode account add

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

    1. 创建并下载开发证书
    2. 在你的账户中注册设备,
    3. 如果需要,创建并下载配置文件

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

Check the app's Bundle ID

启用你的 Mac 和 iOS 设备的信任
#

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

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

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

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

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

  2. 点击 **General**(通用)> **Profiles & Device Management**(描述文件与设备管理)。

  3. 点击以将你的证书切换为 **Enable**(启用)

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

  2. 点击 **General**(通用)> **VPN & Device Management**(VPN 与设备管理)。

  3. 点击以将你的证书切换为 **Enable**(启用)。

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

  2. 点击 **General**(通用)> **VPN & Device Management**(VPN 与设备管理)。

  3. 在 **Developer App**(开发者应用)标题下,你应该能找到你的证书。

  4. 点击你的证书。

  5. 点击 **Trust "<certificate>"**(信任“<证书>”)。

  6. 当对话框显示时,点击 **Trust**(信任)。

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

  1. 输入你的 macOS 密码。

  2. 点击 **Always Allow**(始终允许)。

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

#

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

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

  2. 为你的 iOS 设备设置密码。

  3. 打开 **Xcode**。

  4. 转到 **Window**(窗口)> **Devices and Simulators**(设备和模拟器)。

    你也可以按 Shift + Cmd + 2

  5. 选择你的 iOS 设备。

  6. 选择 **Connect via Network**(通过网络连接)。

  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. 要应用此更改,请重新启动所有打开的终端会话。

检查开发环境设置

#

帮助

运行 Flutter doctor

#

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

  1. 打开您的终端。

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

    flutter doctor

由于你选择为 iOS 开发,因此你不需要所有组件。如果你按照本指南进行操作,命令应该会显示已设置的工具和平台为 [✓]

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 应用了。

要继续你的学习之旅,请查阅以下指南:

管理 Flutter SDK

#

要了解更多关于管理 Flutter SDK 安装的信息,请查阅以下资源: