跳至主要内容

开始在 macOS 上构建 Flutter iOS 应用

验证系统要求

#

要安装和运行 Flutter,您的 macOS 环境必须满足以下硬件和软件要求。

硬件要求

#

您的 macOS Flutter 开发环境必须满足以下最低硬件要求。

要求最低推荐
CPU 内核48
内存(GB)816
显示分辨率(像素)WXGA (1366 x 768)FHD (1920 x 1080)
可用磁盘空间(GB)44.070.0

软件要求

#

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

操作系统

#

Flutter 支持在 macOS 11(Big Sur)或更高版本上进行开发。本指南假设您的 Mac 使用 zsh 作为默认 Shell。

要验证您的 Shell 配置,请展开此部分

与大多数类 Unix 操作系统一样,macOS 可以支持多个 Shell,例如 bashzshsh。从 2019 年 10 月发布的 macOS Catalina(macOS 10.15)开始,Zsh 或 zsh 是 macOS 的默认 Shell。

检查并将 zsh 设置为默认值

#
  1. 要验证 zsh 是否已设置为默认的 macOS Shell,请运行 目录服务命令行实用程序

    dscl . -read ~/ UserShell

    该命令应打印以下内容作为其响应。

    UserShell: /bin/zsh

    您可以跳过其余步骤。

  2. 如果您需要安装 zsh,请按照此 Wiki中的过程操作。

  3. 如果您需要将默认 Shell 更改为 zsh,请运行 chsh 命令。

    chsh -s `which zsh`

要详细了解 macOS 和 zsh,请查看 macOS 文档中的在 Mac 上将 zsh 用作默认 Shell

某些 Flutter 组件需要在运行Apple 芯片的 Mac 上使用Rosetta 2 翻译过程。要在 Apple 芯片上运行所有 Flutter 组件,请安装Rosetta 2

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

开发工具

#

下载并安装以下软件包。

  • Xcode 16 用于调试和编译原生 Swift 或 ObjectiveC 代码。Xcode 安装包含Git 2.27 或更高版本,用于管理源代码。
  • CocoaPods 1.16 用于编译启用原生应用中的 Flutter 插件。

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

当您运行当前版本的 flutter doctor 时,它可能会列出其中一个软件包的不同版本。如果是这样,请安装它推荐的版本。

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

#

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

使用带有 Flutter 扩展或插件的 IDE 可以提供代码完成、语法高亮显示、小部件编辑辅助、调试和其他功能。

常用的选项包括

安装 Flutter SDK

#

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

使用 VS Code 安装 Flutter

#

要使用这些说明安装 Flutter,请验证您是否已安装Visual Studio Code 1.77 或更高版本,以及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.

    此下载需要几分钟。如果您怀疑下载已挂起,请单击**取消**,然后重新开始安装。

  3. 下载完成后,**输出**面板会显示。

    Checking Dart SDK version...
    Downloading Dart SDK from the Flutter engine ...
    Expanding downloaded archive...

    成功后,VS Code 会显示此弹出通知

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

    初始化期间,**输出**面板会显示以下内容

    Building flutter tool...
    Running pub upgrade...
    Resolving dependencies...
    Got dependencies.
    Downloading Material fonts...
    Downloading Gradle Wrapper...
    Downloading package sky_engine...
    Downloading flutter_patched_sdk tools...
    Downloading flutter_patched_sdk_product tools...
    Downloading windows-x64 tools...
    Downloading windows-x64/font-subset tools...

    此过程还会运行 flutter doctor -v。在此过程中的这一点,请*忽略此输出*。Flutter Doctor 可能会显示不适用于此快速入门指南的错误。

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

    Do you want to add the Flutter SDK to PATH so it's accessible
    in external terminals?
  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
  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时,您应该已启用了 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.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 应用了。

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

管理 Flutter SDK

#

要了解有关管理 Flutter SDK 安装的更多信息,请参阅以下资源。