mcpField
A
asc-app-create-ui

asc-app-create-ui

github.com/rorkai開発1.1k6.8k 回インストール2 日前に更新
リポジトリ

asc-app-create-ui について

可視ブラウザーセッションを通じてApp Store Connectで新しいアプリを作成する開発者向けスキルです。登録済みのバンドルIDを前提とし、ユーザーのサインインと作成前の確認を求めます。

主な機能

  1. 01Web UIで新規アプリ情報を入力
  2. 02iOS、macOS、tvOS、visionOSに対応
  3. 03作成前に最終確認を要求
  4. 04APIでアプリレコードを検証
  5. 05失敗時に停止して直前の手順を報告

活用シーン

  1. 01登録済みバンドルIDでApp Store Connectアプリを作成
  2. 02アプリ名、プラットフォーム、言語、SKUを入力
  3. 03作成後にアプリレコードを確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-app-create-ui

インストール後、Claude Code で/asc-app-create-uiを入力して読み込まれたか確認します。

詳細

asc app create(UI オートメーション)

Web UI を操作して、新しい App Store Connect アプリを作成する際にこのスキルを使用します。 これはオプトインのローカル限定オートメーションであり、ユーザーがサインインしている必要があります。

前提条件

  • ブラウザーオートメーションツール(Playwright、Cursor browser MCP など)が利用可能であること。
  • ユーザーが App Store Connect にサインインしている(またはログインと 2FA を完了できる)こと。
  • バンドル ID が Apple Developer ポータルに登録済みであること。
  • 必要な入力情報が分かっていること:
    • アプリ名(最大 30 文字)
    • バンドル ID(存在し、ほかのアプリで使用されていないこと)
    • SKU
    • プラットフォーム(iOS、macOS、tvOS、visionOS)
    • プライマリ言語
    • ユーザーアクセス(フルアクセスまたは制限付きアクセス)

安全上のガードレール

  • Cookie をエクスポートまたは保存しないでください。
  • 表示されているブラウザーセッションのみを使用してください。
  • 「作成」をクリックする前に、最終確認のために一時停止してください(スタンドアロンスクリプトの場合)。
  • 失敗時に「作成」アクションを自動で再試行しないでください。

ワークフロー

1. 事前確認:バンドル ID を登録し、既存のアプリがないことを確認
# Register the bundle ID via public API (if not already registered)
asc bundle-ids create --identifier "com.example.app" --name "My App" --platform IOS

# Confirm no app record exists yet
asc apps list --bundle-id "com.example.app" --output json
2. App Store Connect を開く

https://appstoreconnect.apple.com/apps に移動し、ユーザーがサインインしていることを確認します。

3. 新規 App のフォームを開く

「New App」ボタン(青い「+」アイコン)をクリックすると、ダイアログが直接表示されるのではなく、ドロップダウンメニューが開きます。

  • 「New App」ボタンをクリックしてドロップダウンを開きます。
  • ドロップダウン内の「New App」メニュー項目をクリックします。
  • 作成ダイアログ/モーダルが表示されます。
4. 必須フィールドを入力する(順番どおり)
プラットフォーム(チェックボックス)

プラットフォームはラジオボタンではなく、チェックボックスです。目的のプラットフォームのチェックボックスをクリックします。

  • iOS、macOS、tvOS、visionOS
  • 複数選択できます。
名前(テキスト入力)
  • ラベル:Name
  • 最大 30 文字です。
プライマリ言語(セレクト/コンボボックス)
  • ラベル:Primary Language
  • 言語ラベル(例:"English (U.S.)")を指定して、select_option または同等の方法を使用します。
バンドル ID(セレクト/コンボボックス)
  • ラベル:Bundle ID
  • これは <select> ドロップダウンです。プラットフォームを選択した後、オプションが非同期に読み込まれます。
  • ドロップダウンの読み込みが完了するまで待ちます(最初は「Loading...」と表示されます)。
  • 名前と識別子の両方を含むラベルに一致する項目を選択します。 "My App - com.example.app"
SKU(テキスト入力)
  • ラベル:SKU
ユーザーアクセス(ラジオボタン)— 必須
  • このフィールドは必須です。 いずれかのオプションを選択するまで、「作成」ボタンは無効のままです。
  • オプション:Limited Access または Full Access。
  • これらは <span> オーバーレイを使用したカスタムラジオボタンです。
  • 既知の問題: アクセシビリティ機能を使ったクリックが、オーバーレイの <span> によって妨げられる場合があります。
  • 回避策: まずラジオ要素に対して scrollIntoView を使用し、その後ラジオ参照を直接クリックします。これにより、オーバーレイによる妨害を回避できます。
5. 「作成」をクリック
  • すべての必須フィールドに入力し、かつ「ユーザーアクセス」を選択するまで、「作成」ボタンは無効です。
  • クリック後、処理中はボタンのテキストが「Creating」に変わります。
  • 新しいアプリのページに移動するまで待ちます(URL パターン:/apps/<APP_ID>/...)。
6. API で作成を確認
asc apps view --id "APP_ID" --output json --pretty
# or
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 は、最初の提供状況の初期設定にのみ使用してください。Apple がこの公開 API による初期設定を拒否した場合は、asc web auth login --apple-id "EMAIL" で Web セッションを認証してから、asc web apps availability create --app "APP_ID" --territory "USA,GBR" --available-in-new-territories true を再試行するか、App Store Connect で価格および配信状況を設定してください。アプリの配信状況がすでに設定されている場合、以降の地域変更には asc pricing availability edit --app "APP_ID" ... を使用してください。

既知の UI オートメーションの問題

「New App」は直接実行されるアクションではなく、ドロップダウンメニュー

最初のクリックで「New App」と「New App Bundle」のメニューが開きます。ボタンをクリックするだけでなく、メニュー項目をクリックする必要があります。

User Access のラジオボタンには span オーバーレイがあります

Apple のカスタムラジオボタンでは、スタイル設定された <span> 要素で <input type="radio"> が囲まれています。ref を使った直接クリックは、「クリック対象が遮られています」というエラーで失敗することがあります。対処方法は次のとおりです。

  1. ラジオボタン要素を表示領域内にスクロールします(scrollIntoView)。
  2. オフセットやラベルのクリックではなく、ラジオボタンの ref を直接クリックします。
Bundle ID ドロップダウンは非同期で読み込まれます

プラットフォームを選択すると、Bundle ID ドロップダウンには「読み込み中...」と表示され、無効になります。選択する前に、有効になり、項目が読み込まれるまで待ってください。

browser_fill ではフォームの検証が実行されない場合があります

Apple の Ember.js フォームでは、カスタムの変更ハンドラーが使用されています。browser_fill(アトミックな値の設定)では、検証が実行されない場合があります。すべてのフィールドに入力しても Create ボタンが無効のままの場合は、次のいずれかを行ってください。

  • 少なくとも1つのテキストフィールドに、文字を1文字ずつゆっくり再入力します。
  • または、フィールドをクリックして値を消去し、ゆっくり入力します。

失敗時の対応

  • フィールドまたはボタンが見つからない場合は、作業を中止してユーザーにサポートを求めます。
  • スクリーンショットを撮り、最後に確認できた手順を報告します。
  • Create のクリックを自動で再試行しないでください。
  • 失敗した場合は、ユーザーにブラウザーで検証エラー(赤い枠線、インラインメッセージ)がないか確認してもらいます。

注意事項

  • このスキルは、公開 API が存在しないことへの回避策です。Apple のドキュメントには、「新しいアプリの作成にこの API を使用しないでください。代わりに、App Store Connect の Web サイトで新しいアプリを作成してください」と明記されています。
  • UI セレクターは予告なく変更される場合があります。CSS よりも、ロール、ラベル、テキストによるセレクターを優先してください。
  • 手動で行う手順はサインインだけです。それ以外はすべてエージェントで実行できます。

コメント