让 Codex 上架 Mac App的skill制作,把 Build 跑到了 VALID

📅 2026/7/24 7:50:31 👁️ 阅读次数 📝 编程学习
让 Codex 上架 Mac App的skill制作,把 Build 跑到了 VALID

代码写完只是开始,真正让人头大的是上架。

Archive、签名、导出、API Key、版本号、Build 号、Apple 验证、上传……任何一步配错,都可能浪费半天。

更麻烦的是,我可以让 AI 帮忙执行这些命令,但我不敢让它“自由发挥”。

于是我做了一个 Codex Skill:

👉 GitHub:app-store-connect-release

它负责带 Codex 走完整个 App Store Connect 发布流程,但默认只检查,不会一上来就替你上传。

我自己的 App 就是使用这个skill完成打包上传的

我的 macOS App:ClipMinder。

实际流程是:

检查 Xcode 项目
→ 选择未使用的 Build
→ 签名 Archive
→ 导出 pkg
→ Apple 服务端验证
→ 明确确认上传
→ 等待 App Store Connect 处理

最后结果:

Archive: SUCCESS
Export: SUCCESS
Apple Validation: SUCCESS
Upload: SUCCESS
Processing State: VALID

不是模拟测试,也不是只跑到本地 Archive。

Build 确实传到了 App Store Connect,并被处理成了 VALID

中间还真踩了一个坑

第一次使用原来的 1.0.3 版本上传时,Apple 直接拒绝了:

90062
90186

原因是 1.0.3 的版本列已经关闭,不能继续向里面上传新 Build。

Skill 没有硬着头皮重试,也没有重复上传,而是停下来报告问题。

之后使用临时构建参数生成 1.0.4 / Build 7,重新完成签名、导出和验证,最后上传成功。整个过程没有修改项目里的版本文件。

这个结果反而让我更放心:发布工具最重要的不是“什么都敢做”,而是知道什么时候应该停。

它和普通上传脚本有什么区别?

核心区别就一句话:

默认只读,危险操作需要明确确认。

比如:

  • 只说“检查项目”,它不会 Archive 或上传
  • 上传必须明确使用 --confirm-upload
  • 替换截图需要额外确认
  • 元数据默认只展示差异
  • 重复版本和 Build 默认阻止
  • 上传 Build 不会被描述成“已经提交审核”

另外,App Store Connect 返回的签名 URL、临时请求头和凭据字段都会被替换成:

[REDACTED]

避免它们出现在终端、Codex 对话或者 CI 日志里。

怎么安装(直接让 Codex 帮你做)

其实这里完全可以写成一个让 Codex 执行的 prompt:

Clone https://github.com/Hubuguilai/app-store-connect-release.gitCreate directory: $HOME/.codex/skills/app-store-connect-releaseCopy contents from app-store-connect-release/app-store-connect-release/ 
to $HOME/.codex/skills/app-store-connect-release/Then verify the files exist.

或者更完整一点:

Install the Codex skill "app-store-connect-release":1. Clone the repository https://github.com/Hubuguilai/app-store-connect-release.git
2. Create directory $HOME/.codex/skills/app-store-connect-release if it does not exist
3. Copy all files from app-store-connect-release/app-store-connect-release/ into that directory
4. Confirm installation by listing the filesDo not modify any files.

然后重新打开一个 Codex 任务,对它说:

Use $app-store-connect-release to audit this Xcode project.
Read-only checks only.

第一次建议只跑检查。

确认项目、Scheme、签名、版本和 Build 都正确后,再让它继续 Archive、验证或者上传。

给第一次上架 App 的人准备了三语教程

我还补了三套图文教程:

  • 简体中文
  • English
  • 日本語

从 API Key 在哪里创建、.p8 怎么保存,到第一次只读检查,都按步骤写了。

目前的边界

当前真实跑通的是 macOS 发布链路。

项目也为 iOS、iPadOS、watchOS、tvOS 和 visionOS 做了适配,但这些平台还需要更多真实项目验证。

它无法替你完成,这些需要在GUI界面完成:

  • App Review 提交
  • 正式发布
  • 协议、税务和银行信息
  • 外部 TestFlight 测试
  • Apple 审核回复

这些操作本来就不应该被偷偷自动化。

最后

这个项目现在是公开 Beta,我很想知道它在其他 Xcode 项目上会遇到什么问题。

仓库地址:

👉 https://github.com/Hubuguilai/app-store-connect-release

如果你正好在做 iOS 或 macOS App,可以拿自己的项目先跑一次只读检查。

如果它帮你少踩了一个 App Store Connect 的坑,欢迎给个 Star;如果它在你的项目上翻车了,也欢迎直接提 Issue。

真实项目越多,这个 Skill 才越有机会变成一个真正通用的发布工具。