SuperAPI AI 工具集

wjs-publishing-testflight

通用与其它

查看项目

更新于 10-15 23:32

技能介绍

用途:把 iOS 项目的发布流程接入 fastlane + GitHub Actions,实现 git push main 后自动构建并上传 TestFlight,并在满足条件时自动提交 App Store 审核。参考实现是 Cathier 项目。

主要能力:工作流为 push main → GitHub Actions(macos-15、Xcode 26.2)→ fastlane beta。lane 内查询 ASC 最新 build number 后加 1,用 match(readonly,拉 appstore 证书)签名,increment_build_number,build_app(app-store 导出)。build_num 能被 10 整除时自动 bump minor 版本并提审;或开发者手动改 pbxproj 的 MARKETING_VERSION 并推送后提审;否则上传 TestFlight 并打 testflight/<build_num> tag。另有 bump lane(本地 2.2→2.3 后提交 pbxproj 推送)和 release lane(显式提审,绕过自动检测)。CI 不 commit pbxproj、不 push main。

使用方式:先 bundle init、Gemfile 加 gem "fastlane"、bundle install、bundle exec fastlane init;再填 Appfile、Matchfile、Fastfile 与 Gemfile,本地跑 match init/appstore/development 建证书仓库。GitHub Actions 工作流存为 .github/workflows/build.yml,PR 只做无签名编译验证,非 PR 执行 beta 或 release。仓库需配置 Secrets:MATCH_PASSWORD、MATCH_GIT_BASIC_AUTH、ASC_API_KEY_ID、ASC_API_ISSUER_ID、ASC_API_KEY_CONTENT、FEEDBACK_PAT。占位符 YOUR_BUNDLE_ID、YOUR_APP、YOUR_SCHEME 需全局替换。可用空 commit 触发验证。

适用场景与限制:适用于采用 Xcode 与 App Store 分发的 iOS 项目;依赖 Apple 开发者账号、ASC API Key 与 match 证书仓库。文中给出的 Apple ID、Team ID、ITC Team ID、ASC Key ID、Issuer ID 为参考实现的特定值,其他项目应替换为自己的凭据。常见问题包括缺 provisioning profile、ASC 401、build number 不递增、tag push 失败、版本 IN_REVIEW 等。资料未提供收费、价格与效果数据。