mcpField
H
how-to-build-a-flutter-app-on-xcode-cloud

how-to-build-a-flutter-app-on-xcode-cloud

github.com/rodydavis云与 DevOps6048 次安装2 周前更新
代码仓库

关于 how-to-build-a-flutter-app-on-xcode-cloud

这是一份使用 Xcode Cloud 为 Flutter 应用构建并发布到 TestFlight 和 App Store 的指南,涵盖 CI 脚本与 iOS 工作流配置,并说明 macOS 构建需单独设置。

主要功能

  1. 01在 CI 脚本中安装 Flutter 和 CocoaPods
  2. 02配置 Xcode Cloud 工作流
  3. 03从 iOS 工作流中移除 macOS 目标
  4. 04为 macOS 构建单独设置脚本

适用场景

  1. 01准备 Flutter 应用的 TestFlight 构建
  2. 02配置 Xcode Cloud 的 iOS App Store 构建

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rodydavis/skills --skill how-to-build-a-flutter-app-on-xcode-cloud

安装后在 Claude Code 中输入/how-to-build-a-flutter-app-on-xcode-cloud确认已加载。

详细介绍

如何在 Xcode Cloud 上构建 Flutter 应用

本文将介绍如何设置 Xcode Cloud,以便为 TestFlight 和 AppStore 构建 Flutter 应用。

步骤 1

首先需要安装 Flutter,你可以运行以下命令进行检查:

flutter doctor -v

安装完成后,运行以下命令来创建并打开 Flutter 项目(如果要添加到现有应用,请跳到步骤 2)。

mkdir flutter_ci_example
cd flutter_ci_example
flutter create .

如果需要更多关于创建首个项目的帮助,可以查看我之前的博文这里。

创建项目后,在你喜欢的代码编辑器中打开它。

code .

步骤 2

生成的文件应如下所示:

README 配图

创建新文件 ios/ci_scripts/ci_post_install.sh,并按如下内容更新:

#!/bin/sh

# Install CocoaPods using Homebrew.
brew install cocoapods

# Install Flutter
brew install --cask flutter

# Run Flutter doctor
flutter doctor

# Get packages
flutter packages get

# Update generated files
flutter pub run build_runner build

# Build ios app
flutter build ios --no-codesign

这是 Xcode Cloud 在下载项目后需要运行的文件。我们需要安装 cocoapods 来处理所用的插件,并安装 Flutter 来预构建应用。

然后运行以下命令,使脚本可执行:

chmod +x ios/ci_scripts/ci_post_clone.sh

步骤 3

右键点击 iOS 文件夹并选择“Open in Xcode”,在 Xcode 中打开 iOS 项目。

README 配图

你也可以双击 ios/Runner.xcworkspace 文件来打开项目。

README 配图

确保安装了最新版本的 Xcode Cloud,并且已获得测试版访问权限。通过菜单 Product > Xcode Cloud > Create Workflow 创建新工作流:

README 配图

按提示添加项目,并选择所需的构建类型。

在工作流中选择 Archive - MacOS,然后点击右上角的删除图标,确保移除 MacOS 作为目标平台。

如果要构建并发布 MacOS 应用,需要在 macos 文件夹中使用另一个脚本,并在该 Xcode 工作区中创建工作流。

你可以创建文件 macos/ci_scripts/ci_post_clone.sh,并按如下内容更新:

#!/bin/sh

# Install CocoaPods using Homebrew.
brew install cocoapods

# Install Flutter
brew install --cask flutter

# Run Flutter doctor
flutter doctor

# Enable macos
flutter config --enable-macos-desktop

# Get packages
flutter packages get

# Update generated files
flutter pub run build_runner build

# Build ios app
flutter build ios --no-codesign

如果一切顺利,成功构建后将如下所示:

README 配图

总结

Flutter 让跨平台构建和部署变得简单,而 Xcode Cloud 会处理 Apple 平台的代码签名。

你可以在这里进一步了解 cd 和 Flutter。

评论

支持 Markdown