用途:当 App Store Connect 缺少创建 App 的公开 API 时,用浏览器自动化驱动网页 UI 完成新建 App 记录。属于需用户主动启用的本地自动化,要求用户已登录。
前置条件:具备浏览器自动化工具(Playwright、Cursor browser MCP 或同类);用户已登录 App Store Connect(或能完成登录与两步验证);bundle ID 已在 Apple 开发者门户注册;已知必填输入:App 名称(最多 30 字符)、bundle ID(须存在且未被其他 App 使用)、SKU、平台(iOS、macOS、tvOS、visionOS)、主要语言、用户访问权限(Full Access 或 Limited Access)。
安全约束:不得导出或存储 cookie;仅使用可见浏览器会话;独立脚本在点击 Create 前需暂停做最终确认;Create 失败后不得自动重试。
工作流:先做预检,用公开 API 注册 bundle ID 并确认尚无 App 记录,例如 asc bundle-ids create --identifier "com.example.app" --name "My App" --platform IOS,以及 asc apps list --bundle-id "com.example.app" --output json。随后打开 https://appstoreconnect.apple.com/apps 并确认已登录。点击蓝色加号 New App 按钮会展开下拉菜单,需再点击菜单中的 New App 项才会出现创建对话框。按顺序填写:平台为复选框可多选;Name 文本框最多 30 字符;Primary Language 用 select_option 选择;Bundle ID 是 select 下拉,选项在选平台后异步加载,需等待 Loading 结束再按含名称与标识的文本选择;SKU 文本框;User Access 为必选单选,未选时 Create 按钮保持禁用。填完后点击 Create,按钮文字变为 Creating,等待跳转到 /apps/<APP_ID>/... 页面。
验证与后续:用 asc apps view --id "APP_ID" --output json --pretty 或 asc apps list --bundle-id "com.example.app" --output json 确认创建成功,再交接给创建后设置,如 asc app-setup info set、asc app-setup categories set,以及首次可用性引导 asc web apps availability create;若可用性已存在,后续地区变更改用 asc pricing availability edit。
已知 UI 问题:New App 是下拉菜单而非直接动作;User Access 单选按钮有 span 覆盖层,需先 scrollIntoView 再直接点击 radio ref;Bundle ID 下拉异步加载;browser_fill 可能不触发表单校验,可改为逐字符慢速输入。
失败处理:若字段或按钮无法定位,应停止并请求用户协助,截图并报告最后步骤,不要自动重试 Create;用户应检查浏览器中的校验错误。注意:Apple 文档明确说明不要用 API 创建新 App,应在网站创建;UI 选择器可能随时变化,优先使用 role/label/text 选择器;唯一手动步骤应为登录。