二経路の境界 · SSH/VNC 判断表 · 失敗の切り分け · 二十分の受入
自前の Mac を持たず、時間課金のクラウド Mac で iOS を配信する個人や小チームは、「最後の一マイル」でつまずきがちです。CI や別メンバーが .ipa を用意したのに SSH だけではクリックできる配信 UI がない。あるいは Archive は成功したのに Organizer が回り続ける——Transporter に切り替えるべきか判断できない、というパターンです。本稿では Apple 公式の二つのアップロード経路が何を解くかを整理し、SSH のみ / SSH と一度の VNC / 最初から VNCの判断表、Organizer と Transporter の最小再現手順、チケットに貼れる四つの短文、二十分の VNC 受入表を示します。関連記事:初めての外部 TestFlight チェックリスト、Xcode Cloud Plan B、緊急 iOS 修正ランブック、Fastlane Match と SSH/VNC。
2026 年も Xcode Organizer と Mac App Store 配布の Transporter のどちらか(または両方)で App Store Connect にビルドを届けます。新旧の置き換えではなく、入力物と操作の癖が違います。
Organizer 経路:借りた 同じ Mac で Archive し、GUI で Distribute App → App Store Connect まで進める向き。署名・プロビジョニング・エクスポートを一画面で突き合わせやすい反面、Xcode の版、ログイン状態、キーチェーンのダイアログに弱い。
Transporter 経路:すでに配信用に署名された .ipa(CI 成果物をノードへ同期したものなど)を届ける。UI が単純で「アップロードだけ」に向くが、署名の修復や Export のやり直しはできない。Apple ID やアプリ用パスワードは初回ほど GUI が要る。
見えないコスト:時間課金ノードで GUI が要る操作を SSH だけで三度試すと成果ゼロの課金になる。Runbook では needs-vnc と印を付ける。
ASC との関係:どちらの経路でも「アップロード成功」は処理開始に過ぎない。TestFlight の可否やメタデータ審査は App Store Connect の Webで追う。外測チェックリストのビルド番号項目とセットで。
SDK の窓:「無効なバイナリ」が長く続くなら、先に RC 整合とツールチェーン凍結の記事を当て、ネットのせいにしない。
Windows を主戦場にしている場合、クラウド Mac はApple 公式の配信クライアントが載った「上架ワークステーション」と捉えるとよい。コンパイルは別でも、ASC への公式クライアントはほぼ macOS。Linux CI だけで API を当てるより、ここで時間を買う意味がはっきりします。
作業をタスク → 推奨接続 → 典型失敗 → よくある誤解で並べ、Wiki にそのまま貼れる形にしています。Xcode Cloud と併用するなら Plan Bの「Cloud 失敗 → 手動アップロード」と合わせてください。
| タスク | 推奨 | 典型シグナル | 誤解 |
|---|---|---|---|
| ノードで Archive + Organizer | VNC(同一ユーザー) | 進捗なし・エラーなし | SSH タイムアウトだけ延ばす |
| .ipa のみ届ける | VNC + Transporter | 401 / ログイン失敗 | ipa 破損と決めつける |
| 初回 Apple ID / 2FA | VNC | SSH でセッション無効 | DerivedData 削除ループ |
| Organizer の詳細ログ | VNC | CLI に同等出力なし | ASC だけ見る |
| API Key + altool | SSH(鍵済み) | JWT 期限・権限 | プロファイルだけ直す |
| Transporter ログイン修復 | VNC | 真っ白・クラッシュ | Xcode 全入れ替え |
| シンボルと Export 確認 | VNC + Organizer | ASC に dSYM なし | ipa だけ再送 |
実務則:初回失敗がアカウント・キーチェーン・Transporter ウィンドウに触れたら、同じ SSH で三度目は打たない。VNC に切る方が、多くの場合は追加一時間より安い。
VNC で SSH と同じ macOS ユーザーとして Xcode を開き、メニューバーのアカウントがログイン済みか確認。推奨順序:
Window → Organizer で対象 Archive を選択(Scheme・Configuration がリリースと一致しているか)。
Distribute App → App Store Connect → ウィザードでアップロード(Ad Hoc ではない)。
クラッシュ解析用ならシンボルアップロードにチェック。プライバシー・輸出は プライバシー マニフェストと ASC メタデータを先に揃える。
Organizer で完了表示後、すぐ ASC の TestFlight で処理開始時刻とビルド番号を記録。
失敗時はログを展開し、認証・署名・コンプライアンスを別チケットに分ける。
| 現象 | 疑う点 | 動き |
|---|---|---|
| 「アップロード中」で止まる | プロキシ・出口 | テザリングで一度試す |
| Invalid Signature / Profile | 署名チェーン | Match 受入とキーチェーン |
| ITMS-9xxxx | SDK / マニフェスト | ASC メールと処理詳細 |
| ログイン要求 | Apple ID | VNC で Accounts を再ログイン |
# アップロード前(SSH でも VNC ターミナルでも可、同一ユーザー) xcodebuild -version /usr/bin/security find-identity -v -p codesigning | head -n 15
Mac App Store から Transporter を入れる(イメージ未同梱なら)。VNC で初回 Apple ID ログインを済ませたあと、CLI は試せるが、セッション維持はたまに GUI 確認が要る。
Bundle ID・バージョン・ビルド番号が ASC の待ち行列と一致するか(取り違え防止)。
Transporter を開きログイン → .ipa をドロップ → 配信開始。
失敗時はアクティビティログをエクスポート(スクショより検索しやすい)。
ASC で処理状態を確認。「コンプライアンス不足」なら Web の輸出・プライバシーへ戻る。
処理後は 外測招待または本番フローへ。
Windows 側スクリプト由来の ipa は、ノード上で unzip -l などで署名の有無を確認。未署名は Transporter で即落ちるので、Archive からやり直す。
ヒント:緊急時は 救急ランブックで最小環境を固めてから本節だけ実行。レンタル初時間に beta Xcode と本番 ipa を同時に触らない。
| 確認 | 操作 | 合格 |
|---|---|---|
| ユーザー一致 | VNC ユーザー = SSH whoami | デスクトップと端末が別人でない |
| ログイン | Accounts に黄マークなし | 正しい Team を選択可 |
| 座標 | 版・ビルド・Bundle ID | ASC 行と一致 |
| 配信完了 | Organizer / Transporter 成功 | UTC 時刻を残す |
| ASC 処理 | TestFlight 一覧 | 処理中→テスト可、または理由確定 |
| シンボル・コンプライアンス | シンボル / マニフェスト | ITMS メール pending なし |
新規ノードは 初回アップロード記事または初回チェックリストを先に済ませ、上表を毎リリースで回すと「デスクトップは見えるのに届けられない」が減ります。
アップロード後の招待とチェック。
読む →キュー失敗時の手動アップロード。
読む →署名を固めてから Organizer を開く。
読む →コンパイル用では不要。配信は macOS 上。署名済み .ipa は Transporter、.xcarchive のみなら Organizer で Export。
API Key は可能でも 2FA とログインは VNC が要ることが多い。チームで Transporter か API のどちらかに統一。
配信≠処理完了。Bundle ID とビルド番号を照合。SDK・マニフェスト・輸出は ASC 詳細で直す。
有効な .ipa なら Transporter が最短のことが多い。ノードで Archive するなら Organizer。アカウント時間を見込む。
ビルド配信は Xcode の「ついでクリック」ではなく、アカウント・署名・コンプライアンス・出口の交差点です。SSH だけでコマンドを叩き続け、肝心なとき Transporter も Organizer も開かないと、長時間の課金と二重配信が残ります。自前 Mac は固定費と睡眠・帯域の不確実性を抱えます。
VNC を救火ではなく配信の標準 I/Fに据えれば、Mac を持たないチームでも Apple 公式クライアントと ASC の処理リズムに揃えやすくなります。
本文五節と同じ表で受入したいなら、VNCMac で VNC 付き物理 Mac を時間課金で借りてください。主ボタンは クラウド Mac 購入ページ。SSH と VNC の接続はヘルプセンターを参照。