软件要求

#

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

操作系统

#

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

一些 Flutter 组件需要 Rosetta 2 转换过程。如果你在 Apple 芯片 (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 Code适用于 VS 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 运行最新的默认 shellzsh。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 计划,请立即加入。

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

将你的物理 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 Developer Account 页面上的“App Store Connect”部分创建的。如果你尚未创建团队,可以选择一个个人团队

    团队”下拉菜单会将该选项显示为“你的姓名 (个人团队)”。

    Xcode account add

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

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

如果 Xcode 中的自动签名失败,请验证项目“通用>标识>Bundle Identifier”的值是否唯一。

Check the app's Bundle ID

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

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

当你将设备连接到 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. 一旦设备名称旁边出现网络图标,就从 Mac 上拔下你的 iOS 设备。

如果你在使用 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 上开发 Flutter iOS 应用了。

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

管理 Flutter SDK

#

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