SuperAPI AI 工具集

ios-app-store-submission

通用与其它

查看项目

更新于 10-15 20:04

技能介绍

该技能用于指导 iOS 应用从本地构建到 App Store 提交的完整流程,默认采用本地构建而非 EAS Build,理由是 EAS 免费层每月仅 30 次构建,且基于 git clone,未纳入 git 的文件不会进入构建,容易出问题。

流程分为四个阶段。Phase 0 构建前检查:确认要构建的应用、当前分支、app.json 中的 version 与 buildNumber,并管理 .env。version 是 App Store 显示的版本,buildNumber 需在同一 version 内唯一且递增,已使用过的不可复用;version train 关闭后必须升版本。TestFlight 用 pk_test 与预览 URL,生产用 pk_live 与实际域名,构建后要恢复备份的 .env。

Phase 1 本地构建:npm install、npx expo prebuild --clean,再用 xcodebuild -workspace … -scheme … -configuration Release -archivePath … -destination "generic/platform=iOS" … archive 归档,随后 exportArchive 导出上传;缺少 -allowProvisioningUpdates 会报 No profiles found。ExportOptions.plist 使用 app-store-connect、automatic、指定 teamID 与 upload 目标。

Phase 2 App Store Connect 操作:上传后约 5 至 15 分钟处理完成。可通过 Chrome 扩展操作,但连接不稳定且不得代填 Apple ID 密码,不可逆操作需用户确认。TestFlight 需确认构建处理完成并加入测试员,导出合规由 ITSAppUsesNonExemptEncryption 决定。审核提交流程包括创建新版本、选择构建、填写 What's New、保存并提交;错误提示多与构建未保存、最新信息缺失、截图或版本 train 关闭有关。

Phase 3 TestFlight 验证:由于看不到 console.log,需在 Settings 加 Diagnose 按钮,检查 Clerk 登录状态、token、API 状态码与响应包装;提交前必须移除这些调试代码。

Phase 4 构建前验证:Provider 不可返回 null,ATT 插件需对象形式,.gitignore 中应使用 /ios/ 而非 ios/。常见拒审包括黑屏、ATT 未展示、元数据不准确和登录问题。资料同时给出了 MUEDnote 与 MUEDear 的示例命令与 Bundle ID。限制方面,该技能面向 Expo 加原生 iOS 项目的本地构建场景,具体环境差异需自行验证。