我正在使用 Fastlane 和 GitHub Actions 自动化我的 iOS 应用程序的构建和部署过程。目标是构建应用程序并将其分发到 TestFlight,作为 CI/CD 管道的一部分。我已经设置了 GitHub Action 工作流程,但在 iOS 的 Fastlane 设置过程中遇到了一些问题。
这是我到目前为止所做的:
创建了一个带有通道的 Fastfile 来处理构建并上传到 TestFlight。 在 GitHub 中配置所需的机密(例如 APP_STORE_CONNECT_API_KEY、MATCH_PASSWORD 等)。 设置用于处理代码签名证书的匹配。 这是我的 GitHub Actions 工作流程:
name: iOS CI/CD
on:
push:
branches:
- main
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: bundle install
- name: Install CocoaPods
run: bundle exec pod install
- name: Run Fastlane
run: bundle exec fastlane beta
env:
APP_STORE_CONNECT_API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
我遇到了由于 GitHub Actions 上的代码签名问题导致 Fastlane 构建过程失败的问题。错误信息是:
Error: "No profiles for 'com.example.app' were found"
我尝试过的事情:
问题:什么可能导致代码签名问题,以及如何使用 GitHub Actions 正确配置 Fastlane 以构建 iOS 应用程序并将其部署到 TestFlight?在 GitHub Actions 中调试代码签名过程有任何提示或步骤吗?
用于通过 fastlane 匹配管理 ios 配置文件和证书 重置并撤销所有现有配置文件(仅在更新配置文件时运行)
cd ios/
fastlane match nuke development
fastlane match nuke appstore
安装最新的开发配置文件和证书
fastlane match development
安装最新的分发配置文件和证书
fastlane match appstore