前提条件
在继续教程之前……
- 请确保使用 GitHub
- 使用 Capacitor
- 您的应用已部署在 App Store
- 想读一下 😆…
使用 Ionic 是可选的,Cordova 理论上也可以,但我没试过。
关于价格的重要说明

https://developer.apple.com/xcode-cloud/
该服务是“免费”, 达到上限。
您可以在截图中查看价格和限制(价格以教程编写时为准,未来可能会有变动)
🔴 了解完要求和价格后,如果你愿意,我们就继续…
📣 本文假设应用已在 App Store 中创建
简介
要让 Xcode 构建您的 Capacitor 应用,您需要进行一些配置。
准备 Package
请确保您的构建命令已包含在 package.json 脚本中。
然后按如下所示添加 sync:ios 命令。
{
"scripts": {
"build": "YOUR BUILD COMMAND",
"sync:ios": "cap sync ios"
}
}
这一步将使 post script 能够正常运行
Post clone 脚本
该脚本将在 Xcode cloud 完成 clone 步骤后运行
#!/usr/bin/env bash
set -x
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE
# Install CocoaPods
echo "📦 Install CocoaPods"
brew install cocoapods
brew install node@18
brew link node@18
# Install dependencies
# XCode Cloud is literally broken for 2 months now - https://developer.apple.com/forums/thread/738136?answerId=774510022#774510022
npm config set maxsockets 3
npm ci
# or `pnpm install --frozen-lockfile` or `yarn add --frozen-lockfile` or bun install
npm run build
# or npm run build
npm run sync:ios
将此文件保存在项目根目录并命名为 ios/App/ci_scripts/ci_post_clone.sh
然后使用此命令赋予该文件执行权限 chmod +x ios/App/ci_scripts/ci_post_clone.sh
创建 Xcode workflow
打开 Xcode(没错,卸载 Xcode 也需要用到它)
然后进入此标签页:

点击 create workflow,选择你的 App,然后像下图一样点击 next。

点击左侧的 Edit workflow

进入 environments 标签页,选择如下所示的 Mac 12.4 并勾选相应选项

选择你的 start condition。 如果你使用和我们相同的 build 方式,建议使用 Tag 而不是 branch,以避免重复 build。
设置你的 env variable

连接您的 GitHub 账号


然后启用 workflow 并提交您的首次更改,您应该能看到 Xcode 中的构建正在运行。
构建处理中
在 Xcode Cloud 中, 费用按你运行 CI/CD 工作流所用的 您已将其用于运行 CI/CD workflow。根据经验,构建在 Apple Store 中处理前大约需要 10–15 分钟。
对于私有项目,每次构建的预估成本可能高达 $0.008/min x 5 mins = $0.4,或更多,具体取决于项目的配置或依赖项。
对于开源项目,这完全不是问题。请参阅 定价.
继续阅读《如何在 Xcode Cloud 中构建 Ionic Capacitor 应用》
如果你正在使用 如何在 Xcode Cloud 中构建 Ionic Capacitor 应用 规划 CI/CD 自动化,并将其与 Capgo CI/CD 用于 Capgo CI/CD 中的产品工作流, Capgo Native Build 用于 Capgo Native Builds 中的产品工作流, Capgo 集成 用于 Capgo 集成中的产品工作流, CI/CD 集成 了解 CI/CD 集成的实现细节,以及 GitHub Actions 集成 有关 GitHub Actions 集成的实现细节。