asc-app-create-ui について
可視ブラウザーセッションを通じてApp Store Connectで新しいアプリを作成する開発者向けスキルです。登録済みのバンドルIDを前提とし、ユーザーのサインインと作成前の確認を求めます。
主な機能
- 01Web UIで新規アプリ情報を入力
- 02iOS、macOS、tvOS、visionOSに対応
- 03作成前に最終確認を要求
- 04APIでアプリレコードを検証
- 05失敗時に停止して直前の手順を報告
活用シーン
- 01登録済みバンドルIDでApp Store Connectアプリを作成
- 02アプリ名、プラットフォーム、言語、SKUを入力
- 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 を使った直接クリックは、「クリック対象が遮られています」というエラーで失敗することがあります。対処方法は次のとおりです。
- ラジオボタン要素を表示領域内にスクロールします(
scrollIntoView)。 - オフセットやラベルのクリックではなく、ラジオボタンの 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 よりも、ロール、ラベル、テキストによるセレクターを優先してください。
- 手動で行う手順はサインインだけです。それ以外はすべてエージェントで実行できます。