了解如何设置开发环境,以便在 iOS 设备上运行、构建和部署 Flutter 应用。

设置 iOS 工具

#

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

  1. 安装 Xcode

    安装并设置最新版本的 Xcode

    如果您已经安装了 Xcode,请使用最初的安装方法将其更新到最新版本。

  2. 设置 Xcode 命令行工具

    要配置 Xcode 命令行工具以使用您安装的 Xcode 版本,请在您偏好的终端中运行以下命令:

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

    如果您将 Xcode 下载到了其他位置或需要使用其他版本,请将 /Applications/Xcode.app 替换为实际路径。

  3. 同意 Xcode 许可协议

    设置完 Xcode 并配置好其命令行工具后,请同意 Xcode 许可协议。

    1. 打开您偏好的终端。

    2. 运行以下命令以查看并签署 Xcode 许可协议。

      sudo xcodebuild -license
    3. 阅读并同意所有必要的许可协议。

      在同意每项许可协议的条款之前,请仔细阅读。

  4. 下载必备工具

    要下载 iOS 平台支持和最新的 iOS 模拟器运行时,请在您偏好的终端中运行以下命令:

    xcodebuild -downloadPlatform iOS
  5. 安装 Rosetta

    如果您在 Apple Silicon (ARM) Mac 上进行开发,请 安装 Rosetta 2

    sudo softwareupdate --install-rosetta --agree-to-license
  6. 安装 CocoaPods

    要支持使用原生 iOS 或 macOS 代码的 Flutter 插件,请安装最新版本的 CocoaPods

    按照 CocoaPods 安装指南 进行安装。

    如果您已经安装了 CocoaPods,请按照 CocoaPods 更新指南 进行更新。

设置 iOS 设备

#

我们建议从 iOS 模拟器开始,因为它比实体 iOS 设备更容易设置。但是,您也应该在实际的实体设备上测试您的应用。

使用以下命令启动 iOS 模拟器:

open -a Simulator

如果您需要安装适用于不同操作系统版本的模拟器,请查看 Apple Developer 网站上的 下载和安装其他 Xcode 组件

设置您想要测试的每个 iOS 设备。

  1. 配置您的实体 iOS 设备

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

    2. 首次将 iOS 设备连接到 Mac 时,您的设备会显示“信任此电脑?”对话框。

    3. 点击“信任”。

      Trust Mac

  2. 配置您的实体 iOS 设备

    Apple 要求在设备上启用“开发者模式”,以防止恶意软件。

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

    2. 点击以将“开发者模式”切换为“打开”。

    3. 重新启动设备。

    4. 当出现“开启开发者模式?”对话框时,点击“开启”。

  3. 创建开发者代码签名证书

    要将您的应用发送到实体 iOS 设备(即使是为了测试),您必须在 Mac 和设备之间建立信任。除了在弹出该提示时信任设备外,您还必须将签名开发者证书上传到设备。

    要创建签名开发证书,您需要一个 Apple ID。如果您还没有,请创建一个。您还必须注册Apple Developer Program 并创建一个Apple Developer 账户。如果您只是在 iOS 设备上测试您的应用,个人 Apple Developer 账户是免费的并且可以使用。

  4. 准备设备

    1. 在“设置”下找到“VPN 与设备管理”菜单。

      将您的证书切换为“启用”。

    2. 在“开发者 App”标题下,您应该能找到您的证书。

    3. 点击证书。

    4. 点击“信任“<证书>””。

    5. 当出现对话框时,点击“信任”。

      如果出现“codesign 想要访问密钥…”对话框

      1. 输入您的 macOS 密码。

      2. 点击“始终允许”。


开始为 iOS 开发

#

恭喜。 现在您已经设置好了 Flutter 的 iOS 开发环境,您可以在测试 iOS 应用的同时继续您的 Flutter 学习之旅,或开始改进与 iOS 的集成。