当前位置: 首页 > news >正文

让 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 才越有机会变成一个真正通用的发布工具。

http://www.jsqmd.com/news/1253013/

相关文章:

  • C++26模块接口单元:重构大型项目构建流程,实现编译效率革命性提升
  • 使用LiteLLM统一调用多模型API的实践指南
  • AI教材编写:降低查重率的实战方案
  • WebAssembly实战:图像处理性能优化指南
  • C++开发环境配置指南:从编译器到构建系统的实战入门
  • 深圳欧米茄回收价格查询与各大回收平台实测排行(2026年7月最新) - 诚收名表回收平台
  • AI内容审核系统:NLP技术与多模态架构解析
  • 对话系统提示词设计与用户输入处理实战指南
  • AI视频生成系统如何提升小说推文制作效率
  • 2026年抖音买单平台实力测评,价格透明口碑优选不踩雷 - myqiye
  • Ollama+GLM4.7-Flash+Claude Code本地AI编程方案实践
  • 2026年SCMP计划方向和生产排程怎么对应——众智商学院张明老师供应链规划岗位学习路径 - 众智商学院cppm官方
  • BQ27410-G1阻抗跟踪电量计:高精度电池管理从评估到量产全解析
  • Python VR开发终极指南:从零构建3D交互应用
  • 2026 免费去水印小程序推荐:2 款免安装工具实测 - 免费软件工具方法教程
  • LLM驱动的智能简历筛选系统架构与优化实践
  • Transformer长度泛化迁移:关联外推法解析与应用
  • 即梦 AI 实战避坑手册:23个新手高频报错代码+对应修复方案(含2024最新v3.2.1兼容性验证)
  • 深入解析TI UCD90xxx PMBus制造商特定命令:故障、复位与看门狗实战
  • 欧米茄手表回收乌鲁木齐怎么选?2026年7月最新靠谱平台实测对比来了! - 嘉价奢侈品回收平台
  • 2026年7月爱彼宁波最新地址网点公布,全国统一售后热线与客服服务信息 - 爱彼中国官方服务中心
  • 银川卖黄金怎么不被坑!2026 年 7 月最新大盘金价 882 元 / 克,三区两县一市正规黄金回收门店汇总,支持免费上门回收 - 不晚生活号
  • BQ27410-G1阻抗跟踪电量计:从原理到实战的高精度电池管理方案
  • 同一git仓库实现高效多分支并行开发
  • AI内容安全:幻觉与深度伪造的检测与应对
  • Docker Compose 多容器应用部署实战指南
  • TensorRT-LLM:大语言模型推理优化与部署实践
  • ChatGPT服务异常排查与高可用架构设计实践
  • Unity C#项目热更新实战:ILRuntime集成指南与避坑
  • 龙岩新罗黄金回收交易完整流程科普 六大片区实体门店标准化操作详解 - 不晚生活号