Archiveが成功しても、iOS Appの公開準備が完了したわけではありません。Xcode 27 iOS App 公開前の受け入れ確認では、識別情報、成果物、署名、アップロード状態、App Store Connectとの関連付けをすべて確認し、最後にTestFlightまたは提出画面で実物を検証します。

初回公開の独立開発者は、このチェックリストでArchiveからApp Store Connectまでを確認できます。リモートMacで打ち合わせなしのビルドやCIアップロードを運用する小規模チームにも、再現可能な公開環境の判定材料になります。

最終更新:2026年9月22日。Xcode 27の正式版とXcode 27.2 Betaの公開状態は、Apple DeveloperのXcodeリリース記録で確認しています。Betaの挙動を正式版の公開条件として扱わないでください。

公開完了の判定基準

公開前の確認では、「何が成功したか」を分けて記録します。Archive、IPAの書き出し、アップロード、Processing、TestFlight利用、審査提出は、それぞれ別の状態です。

確認段階 確認する証拠 合格条件 不合格時の対応
Archive OrganizerのArchive記録 対象SchemeのRelease Archiveが存在する Debugやシミュレーター用成果物ではなく、配布用設定で作り直す
書き出し Export結果とログ 配布方法に合う成果物が生成される Export設定、証明書、Profileを再確認する
アップロード XcodeまたはTransporterの結果 対象Buildが送信され、エラーがない 送信ログとBundle ID、Build番号を照合する
Processing App Store ConnectのBuild画面 処理完了後に警告やエラーを確認できる エラー内容を修正し、必要なら別Build番号で再送する
TestFlight・提出 TestFlightまたは提出画面 正しい版に選択でき、実機確認も完了する 関連付け、コンプライアンス、提出情報を補う

Appleのアプリ配布準備に関する公式ドキュメントでも、配布前には署名やアプリ情報を含む複数の準備が必要とされています。したがって、Archiveの緑色の結果だけを公開判定に使うのは不十分です。

識別情報の整合性

最初に確認するのは、最終成果物がどのアプリとして登録されるかです。Xcode 27のプロジェクト設定ではなく、最終Archiveの情報とApp Store Connect側の登録内容を突き合わせます。

  • [ ] Bundle IDが、App Store Connectで対象にするAppのBundle IDと一致している
  • [ ] 正しいTargetとSchemeでArchiveしている
  • [ ] Teamが意図したApple Developerアカウントになっている
  • [ ] iOSなどの対象プラットフォームが想定どおりである
  • [ ] Version Numberが公開する版と一致している
  • [ ] Build Numberが、同じ版で未使用の値になっている
  • [ ] Archive、IPA、App Store ConnectのBuild情報で値が食い違っていない

新しいアプリを登録する場合は、App Store ConnectでAppレコードを追加する手順に従い、Bundle IDなどの識別情報を先に揃えます。既存アプリでは、新しいVersionを作るのか、同じVersionへ別のBuildを追加するのかを決めてから作業します。

Version Numberが公開版を示す一方、Build Numberは同じ版に含まれる候補を区別します。アップロードに失敗したBuild番号をそのまま再利用できるとは限らないため、エラーの種類を確認せずに番号だけを変更する運用は避けます。

成果物と署名の完全性

次は、作成したファイルが本当に配布用のものかを確認します。シミュレーター用ビルド、Debugビルド、Release Archive、配布用IPAは目的が異なり、ひとつの成功結果で相互に代用できません。

  • [ ] Release設定でArchiveを作成している
  • [ ] ArchiveとExportしたファイルが同じビルド作業から生成されている
  • [ ] Distribution用の署名証明書が選択されている
  • [ ] Provisioning Profileが対象Bundle IDとTeamに対応している
  • [ ] Entitlementsに不要な権限や不足している権限がない
  • [ ] dSYMをArchiveと同じ作業単位で保存している
  • [ ] IPA、Archive、署名ログ、dSYMの保存場所を記録している

AppleのXcodeによるベータ配布とリリースの説明では、配布方法に応じたArchiveと書き出しの流れが整理されています。ここで重要なのは、書き出しが成功したかだけでなく、クラッシュ解析用のdSYMや署名情報を同じ成果物として追跡できることです。

リモートMacでは、Keychainのロック状態、署名証明書の参照権限、Profileの配置、非対話式スクリプトが認証入力を要求しないかを確認します。画面を操作できる環境でも、SSHやCIから同じ処理を実行できなければ、常用のiOS打ち上げ環境としては未完成です。

注意:ログイン画面やXcodeの画面が表示されたことは、署名処理が再現できる証拠ではありません。サインイン情報をソースコードやログへ出さず、失敗時にどの認証段階で止まったかだけを記録できる状態にします。

アップロードと処理状態

アップロード作業では、Transporterやコマンドラインの終了コードを最終結果にしません。送信が受け付けられた後、App Store Connect側で処理され、対象Buildとして表示されるまでを確認します。

App Store ConnectのBuildアップロード手順を参照し、次の記録を残します。

  • アップロード元のArchive識別情報
  • Version NumberとBuild Number
  • 送信日時
  • Xcode、Transporter、スクリプトの実行ログ
  • Processing後のエラーまたは警告
  • App Store Connectで表示された対象プラットフォーム

状態がFailedなら、ログにあるエラーを直してから再送します。長時間Processingが続く場合は、同じBuildを無制限に送り直さず、App Store Connectの状態、Apple側の案内、送信ログを確認します。Completeになった場合も、次の提出対象として選べるかまでは別に確認します。

Xcode 27正式版とXcode 27.2 Betaを同じ基準で扱うのも危険です。Betaで得た結果を本番運用の合格条件にする場合は、正式版のリリース記録とXcodeのリリースノートで、対応状況を再確認します。

App Store ConnectとTestFlightの関連付け

処理が完了したBuildは、App Store Connectで正しいアプリバージョンに関連付けられていなければなりません。Build画面に表示されていることと、提出画面で選択できることは別の確認です。

App Store ConnectのBuildとメタデータ確認手順を使い、次を確認します。

  • [ ] 対象アプリの正しいプラットフォームに表示されている
  • [ ] Version NumberとBuild Numberが予定した値である
  • [ ] Processing後の警告を読み、対応不要か判断している
  • [ ] Missing Complianceなど、追加回答が必要な項目を確認している
  • [ ] TestFlightで対象テスターへ配布できる
  • [ ] 実機でインストールし、起動と主要導線を確認している
  • [ ] 提出画面でそのBuildを選択できる
  • [ ] 提出用Buildの選択手順に沿って最終確認している

TestFlightでインストールできても、審査提出に必要なメタデータや輸出コンプライアンスの確認が残る場合があります。反対に、提出画面で選択できても、実機で起動できることを確認していなければ、利用者に届く成果物の受け入れ確認としては不十分です。

FAQ:公開前に止まりやすい判定

Xcode 27のArchive成功後に確認する項目

最終ArchiveからBundle ID、Version Number、Build Number、Team、署名方式を確認し、配布用ファイルを書き出します。その後、アップロード結果だけでなく、App Store ConnectでのProcessing完了、正しいVersionへの関連付け、TestFlightまたは提出画面での選択可否を確認します。

Version NumberとBuild Numberの受け入れ確認

Xcodeの設定値を読むだけでなく、ArchiveやExport成果物に記録された実値を確認します。新しいVersionを作る場合と、同じVersionにBuildを追加する場合ではApp Store Connect側の操作が異なるため、対象版と未使用のBuild番号を先に決めてから送信します。

App Store Connectで関連付けを確認する方法

対象AppのBuild一覧で、Version、Build、プラットフォーム、Processing状態を確認します。さらに提出画面を開き、予定したBuildを実際に選択できるかを確認してください。Complete表示だけで関連付けが正しいと判断せず、アプリ版と提出対象が一致していることを見ます。

リモートMac公開環境の確認範囲

Xcodeの版、Keychainの署名情報、Provisioning Profile、認証方法、ログ保存、切断後の復旧方法を確認します。リモートMac iOS打ち上げでは、画面操作の成功よりも、同じソースと設定からArchive、Export、Uploadを再実行でき、結果を回収できることが重要です。

TestFlightのComplete表示後に行うこと

Completeは処理完了の確認であり、審査提出の全条件を満たした証明ではありません。輸出コンプライアンス、テスト配布、提出に必要な情報、正しいVersionへのBuild関連付け、実機インストールを確認し、提出画面で選択可能になってから送信します。

リモートMac運用の合格条件

遠隔のMacを使う場合でも、App Store Connectの最終判定を自動化環境だけに任せない設計が必要です。リモートMacは繰り返しArchive、署名、アップロードを実行する場所であり、TestFlightや提出画面での最終確認を置き換えるものではありません。

リモートMac打ち上げを導入する際は、まずRUVCLOUDの日本語案内で利用形態を確認し、次に以下を環境側の受け入れ条件にします。

  • Xcode 27正式版と対象プロジェクトの組み合わせを記録する
  • Keychainと署名情報の準備方法を限定する
  • CIやSSHから実行するスクリプトを非対話式で検証する
  • Archive、IPA、dSYM、ログを同じジョブ識別子で保管する
  • 接続断後にジョブ結果とログを回収できるか確認する
  • App Store ConnectでBuild状態を人が再確認する

公開頻度が低く、毎回手動で提出するだけなら、必要な期間だけRUVCLOUDの利用プランを検討する方法があります。一方、繰り返しArchive、アップロード、失敗後の再実行が必要な小規模チームでは、常時利用できるMac環境のほうが、作業のたびに署名環境を作り直す運用より管理しやすくなります。

最終的には、現在の開発環境がWindowsやLinuxだけの場合、Xcode、Keychain、iOS署名、TestFlight確認を別々の手段で補う必要があり、認証情報の受け渡し、ビルド結果の回収、物理Macの常時稼働が負担になります。自前のMacを購入する方法は長期の安定運用に向きますが、公開頻度が読めない段階では初期費用と保守責任が残ります。必要な期間だけMacを使い、反復ビルドとアップロードの作業環境を分離したい場合は、RUVCLOUDのMacレンタルを候補にすると、今回の受け入れ確認を実行できる環境を準備しやすくなります。