从 Web 开始添加 iOS 作为目标平台
要将 iOS 添加为 macOS 上 Flutter 应用的目标,请按照以下步骤操作。
安装 Xcode
#- 为 Xcode 分配至少 26 GB 的存储空间。考虑为获得最佳配置分配 42 GB 的存储空间。
- 安装 Xcode 16 以调试和编译原生 Swift 或 ObjectiveC 代码。
配置 iOS 开发
#安装和配置 Xcode
#要为 iOS 开发 Flutter 应用,请安装 Xcode 以编译为原生字节码。
打开App Store并登录。
搜索
Xcode
。点击安装。
Xcode 安装程序占用 6GB 以上的存储空间。下载可能需要一些时间。
要配置命令行工具以使用已安装的 Xcode 版本,请使用以下命令。
sudo sh -c 'xcode-select -s /Applications/Xcode.app/Contents/Developer && xcodebuild -runFirstLaunch'
对于最新版本的 Xcode,使用此路径。如果您需要使用其他版本,请指定该路径。
签署 Xcode 许可协议。
sudo xcodebuild -license
尽量保持使用当前版本的 Xcode。
配置你的目标 iOS 设备
#使用 Xcode,您可以在 iOS 设备或模拟器上运行 Flutter 应用。
配置您的 iOS 模拟器
#要准备在 iOS 模拟器上运行和测试您的 Flutter 应用,请按照以下步骤操作。
要安装 iOS 模拟器,请运行以下命令。
xcodebuild -downloadPlatform iOS
要启动模拟器,请运行以下命令
open -a Simulator
将您的模拟器设置为使用 64 位设备。这包括 iPhone 5s 或更高版本。
在Xcode中,选择一个模拟器设备类型。
转到窗口>设备和模拟器。
您也可以按Cmd + Shift + 2。
打开设备和模拟器对话框后,点击模拟器。
从左侧列表中选择一个模拟器,或按+创建新的模拟器。
在模拟器应用中,转到文件>打开模拟器>选择您的目标 iOS 设备。
要检查模拟器中的设备版本,请打开设置应用>通用>关于本机。
模拟的高屏幕密度 iOS 设备可能会超出您的屏幕。如果在您的 Mac 上确实如此,请在模拟器应用中更改显示大小。
显示尺寸 菜单命令 键盘快捷键 小 窗口>物理尺寸 Cmd + 1 中等 窗口>点精确 Cmd + 2 高清精确 窗口>像素精确 Cmd + 3 适应屏幕 窗口>适应屏幕 Cmd + 4
设置您的目标物理 iOS 设备
#要将您的 Flutter 应用部署到物理 iPhone 或 iPad,您需要执行以下操作
- 创建一个Apple 开发者帐户。
- 在 Xcode 中设置物理设备部署。
- 创建开发配置文件以自签名证书。
- 如果您的应用使用 Flutter 插件,请安装第三方 CocoaPods 依赖项管理器。
创建您的 Apple ID 和 Apple 开发者帐户
#您现在可以跳过此步骤。在您准备好将应用分发到 App Store 之前,您实际上并不需要 Apple 开发者帐户。
如果您只需要测试部署您的应用,请完成第一步并继续下一节。
将您的物理 iOS 设备连接到您的 Mac
#配置您的物理 iOS 设备以连接到 Xcode。
将您的 iOS 设备连接到 Mac 上的 USB 端口。
首次将您的 iOS 设备连接到您的 Mac 时,您的 iOS 设备会显示信任此电脑?对话框。
点击信任。
出现提示时,解锁您的 iOS 设备。
在 iOS 16 或更高版本上启用开发者模式
#从 iOS 16 开始,Apple 要求您启用开发者模式以防止恶意软件。在部署到运行 iOS 16 或更高版本的设备之前,请启用开发者模式。
点击设置>隐私与安全性>开发者模式。
点击切换开发者模式至开启。
点击重新启动。
iOS 设备重新启动后,解锁您的 iOS 设备。
当打开开发者模式?对话框出现时,点击打开。
该对话框说明开发者模式需要降低 iOS 设备的安全性。
解锁您的 iOS 设备。
启用开发者代码签名证书
#要部署到物理 iOS 设备,您需要与您的 Mac 和 iOS 设备建立信任关系。这要求您将签名的开发者证书加载到您的 iOS 设备上。要在 Xcode 中签名应用,您需要创建一个开发配置文件。
要配置您的项目,请按照 Xcode 签名流程操作。
启动 Xcode。
转到Xcode>设置...
- 转到Xcode>设置...
- 点击帐户。
- 点击+。
- 选择Apple ID,然后点击继续。
- 出现提示时,输入您的Apple ID和密码。
- 关闭设置对话框。
开发和测试支持任何 Apple ID。
转到文件>打开...
您也可以按Cmd + O。
导航到您的 Flutter 项目目录。
打开项目中的默认 Xcode 工作区:
ios/Runner.xcworkspace
。在运行按钮右侧的设备下拉菜单中,选择您打算部署到的物理 iOS 设备。
它应该出现在iOS 设备标题下。
在左侧导航面板中的目标下,选择Runner。
在Runner设置窗格中,点击签名与功能。
在顶部选择全部。
选择自动管理签名。
从团队下拉菜单中选择一个团队。
团队是在Apple 开发者帐户页面的App Store Connect部分创建的。如果您尚未创建团队,可以选择个人团队。
团队下拉菜单会将该选项显示为您的姓名(个人团队)。
选择团队后,Xcode 会执行以下任务
- 创建并下载开发证书
- 将您的设备注册到您的帐户,
- 根据需要创建并下载配置文件
如果 Xcode 中的自动签名失败,请验证项目的常规>标识>捆绑包标识符值是否唯一。
启用对您的 Mac 和 iOS 设备的信任
#首次连接物理 iOS 设备时,请为您的 Mac 和 iOS 设备上的开发证书启用信任。
当您将设备连接到 Mac时,您应该已在 iOS 设备上启用了对 Mac 的信任。
为您的 iOS 设备启用开发者证书
#启用证书在不同版本的 iOS 中有所不同。
在 iOS 设备上打开设置应用。
点击通用>配置文件与设备管理。
点击切换您的证书至启用
在 iOS 设备上打开设置应用。
点击通用>VPN与设备管理。
点击切换您的证书至启用。
在 iOS 设备上打开设置应用。
点击通用>VPN与设备管理。
在开发者应用标题下,您应该会找到您的证书。
点击您的证书。
点击信任“<证书>”。
当对话框显示时,点击信任。
如果codesign 想要访问密钥...对话框显示
输入您的 macOS 密码。
点击始终允许。
在您的 iOS 设备上设置无线调试(可选)
#要使用 Wi-Fi 连接调试您的设备,请按照以下步骤操作。
将您的 iOS 设备连接到与您的 macOS 设备相同的网络。
为您的 iOS 设备设置密码。
打开Xcode。
转到窗口>设备和模拟器。
您也可以按Shift + Cmd + 2。
选择您的 iOS 设备。
选择通过网络连接。
设备名称旁边出现网络图标后,将您的 iOS 设备从 Mac 上拔下。
如果您在使用flutter run
时没有看到您的设备列出,请延长超时时间。超时时间默认为 10 秒。要延长超时时间,请将值更改为大于 10 的整数。
flutter run --device-timeout 60
安装 CocoaPods
#如果您的应用依赖于具有原生 iOS 代码的Flutter 插件,请安装CocoaPods。此程序捆绑了 Flutter 和 iOS 代码之间的各种依赖项。
要安装和设置 CocoaPods,请运行以下命令
按照CocoaPods 安装指南安装
cocoapods
。sudo gem install cocoapods
启动您首选的文本编辑器。
在文本编辑器中打开 Zsh 环境变量文件
~/.zshenv
。复制以下行并将其粘贴到
~/.zshenv
文件的末尾。bashexport PATH=$HOME/.gem/bin:$PATH
保存您的
~/.zshenv
文件。要应用此更改,请重新启动所有打开的终端会话。
检查你的开发设置
#运行 Flutter doctor
#flutter doctor
命令验证 macOS 上完整 Flutter 开发环境的所有组件。
打开您的终端。
要验证所有组件的安装,请运行以下命令。
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 2 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 的最新稳定版本。页面最后更新于 2024-04-12。 查看源代码 或 报告问题.