asc-app-create-ui

asc-app-create-ui

熱門

透過瀏覽器自動化建立新的 App Store Connect App 紀錄。當缺乏建立 App 的公開 API,且需要由 Agent 操作「新增 App」表單時使用。

946星標
50分支
更新於 2026/7/31
SKILL.md
唯讀
名稱
asc-app-create-ui
描述

透過瀏覽器自動化建立新的 App Store Connect App 紀錄。當缺乏建立 App 的公開 API,且需要由 Agent 操作「新增 App」表單時使用。

asc app create (UI 自動化)

使用此 Skill 透過操作網頁 UI 來建立新的 App Store Connect App。
此為選擇性(opt-in)且僅限本地執行的自動化流程,需要使用者保持已登入狀態。

前置條件

  • 已安裝或可使用瀏覽器自動化工具(Playwright、Cursor browser MCP 或同等工具)。
  • 使用者已登入 App Store Connect(或可自行完成登入與雙重認證 2FA)。
  • Bundle ID 必須已在 Apple Developer 門戶完成註冊
  • 已掌握必要的輸入資訊:
    • App 名稱(最多 30 個字元)
    • Bundle ID(必須存在且未被其他 App 使用)
    • SKU
    • 平台(iOS、macOS、tvOS、visionOS)
    • 主要語言
    • 使用者存取權限(Full Access 完全存取權 或 Limited Access 限制存取權)

安全防護措施

  • 切勿匯出或儲存 Cookie。
  • 僅能使用可視化(非無頭)瀏覽器工作階段。
  • 在點擊「建立」前請暫停並進行最終確認(適用於獨立腳本)。
  • 若建立失敗,切勿自動重試「建立」動作。

工作流程

1. 預檢:註冊 Bundle ID 並確認尚未建立 App

# 透過公開 API 註冊 Bundle ID(若尚未註冊)
asc bundle-ids create --identifier "com.example.app" --name "My App" --platform IOS

# 確認目前尚無該 App 的紀錄
asc apps list --bundle-id "com.example.app" --output json

2. 開啟 App Store Connect

前往 https://appstoreconnect.apple.com/apps 並確認使用者已登入。

3. 開啟「新增 App」表單

「新增 App」按鈕(藍色「+」圖示)會開啟下拉選單,而非直接打開對話框。

  • 點擊「新增 App」按鈕以展開下拉選單。
  • 點擊下拉選單內的「新增 App」功能表項目
  • 隨即顯示建立 App 的對話框 / 彈出視窗。

4. 依序填寫必要欄位

平台(核取方塊)

平台選項為核取方塊(非單選按鈕)。請點擊目標平台的核取方塊:

  • iOS、macOS、tvOS、visionOS
  • 可多選。
名稱(文字輸入框)
  • 標籤:Name
  • 最多 30 個字元。
主要語言(下拉選單 / Combobox)
  • 標籤:Primary Language
  • 使用 select_option 或同等方法選擇對應的語言標籤(例如 "English (U.S.)")。
Bundle ID(下拉選單 / Combobox)
  • 標籤:Bundle ID
  • 此為 <select> 下拉選單。選項會在選擇平台後非同步載入。
  • 請等待下拉選單完成載入(初始會顯示 "Loading...")。
  • 比對同時包含名稱與識別碼的標籤文字進行選擇:
    "My App - com.example.app"
SKU(文字輸入框)
  • 標籤:SKU
使用者存取權限(單選按鈕)-- 必填
  • 此欄位為必填項目。 在選擇任一選項前,「建立」按鈕會保持停用狀態。
  • 選項:Limited AccessFull Access
  • 這些是帶有 <span> 覆蓋層的自訂單選按鈕。
  • 已知問題: 基於無障礙功能(Accessibility)的點擊可能會被覆蓋層 <span> 攔截。
  • 變通方案: 先對單選按鈕元素執行 scrollIntoView,然後直接點擊單選按鈕的參照(ref)。這樣可以繞過覆蓋層攔截。

5. 點擊「建立」

  • 填滿所有必要欄位已選擇「使用者存取權限」後,「建立」按鈕才會啟用。
  • 點擊後,處理期間按鈕文字會變更為 "Creating"。
  • 等待頁面跳轉至新 App 的管理頁面(URL 格式:/apps/<APP_ID>/...)。

6. 透過 API 驗證建立結果

asc apps view --id "APP_ID" --output json --pretty
# 或
asc apps list --bundle-id "com.example.app" --output json

7. 銜接建立後的初始設定

asc app-setup info set --app "APP_ID" --primary-locale "en-US"
asc app-setup categories set --app "APP_ID" --primary GAMES
asc pricing availability create \
  --app "APP_ID" \
  --territory "USA,GBR" \
  --available true \
  --available-in-new-territories true

僅在首次引導設定發售範圍時使用 asc pricing availability create。若 App 已存在發售設定,後續修改地區時請改用 asc pricing availability edit --app "APP_ID" ...

已知的 UI 自動化問題

「新增 App」為下拉選單,而非直接觸發的動作

第一次點擊會開啟包含「新增 App」與「新增 App 套件」的選單。必須點擊選單內的項目,而非僅點擊按鈕。

使用者存取權限單選按鈕設有 span 覆蓋層

Apple 的自訂單選按鈕外層包覆了具備樣式的 <span> 元素。直接透過 ref 進行點擊可能會失敗並回傳 "click target intercepted"。修復方式:

  1. 將單選按鈕元素滾動至視窗內(scrollIntoView)。
  2. 直接點擊單選按鈕 ref(非透過偏移量或點擊 label)。

Bundle ID 下拉選單為非同步載入

選擇平台後,Bundle ID 下拉選單會顯示 "Loading..." 且處於停用狀態。請確保選單已啟用且內容載入完畢後再進行選擇。

browser_fill 可能無法觸發表單驗證

Apple 的 Ember.js 表單使用了自訂變更處理函式。browser_fill(原子化設定值)可能無法觸發驗證。若填寫所有欄位後「建立」按鈕仍處於停用狀態:

  • 在至少一個文字欄位中逐字(逐字元)重新輸入。
  • 或者點擊該欄位、清除內容後再慢速輸入。

異常處理

  • 若無法定位任何欄位或按鈕,請立即停止並請求使用者協助。
  • 擷取螢幕截圖並回報最後已知的步驟。
  • 切勿自動重試點擊「建立」。
  • 發生失敗時,使用者應檢查瀏覽器中的驗證錯誤訊息(紅色外框、行內提示)。

注意事項

  • 此 Skill 為缺乏公開 API 時的變通方案。Apple 官方文件明確指出:「請勿使用此 API 來建立新 App;請改為在 App Store Connect 網站上建立新 App。」
  • UI 選擇器可能在無預警的情況下變更。建議優先使用 role/label/text 選擇器,而非 CSS 選擇器。
  • 唯一需要人工操作的步驟應只有登入,其餘流程皆可由 Agent 自動化執行。