症状:Xcode 27.2でアップロードすると「Unsupported SDK or Xcode」と表示され、提出が止まります。 最短の対処:同じArchiveの再作成や再送を続けず、拒否された工程、実際に使われたXcodeとSDK、App Store Connectの応答を確認してください。
独立開発者は、拒否原因がツールチェーンか成果物かを切り分けたいときにお読みください。 複数アプリを管理しているチームやリモートMacで公開する小規模チームにも、公開環境をむやみに切り替えずに判断する手順をまとめています。
拒否された工程を切り分ける
「アップロード失敗」という表現だけでは、対処を決められません。Archiveの作成、Appleへの転送、App Store Connectでの処理、アプリ審査は別の段階です。最初に、画面に表示された状態と通知文をそのまま保存します。
| 状態・症状 | 確認する証拠 | 判断できること |
|---|---|---|
| Archiveの作成に失敗 | Xcodeのビルドログ、エラー箇所 | コンパイル、依存関係、署名など、提出前の問題か |
| アップロード時に拒否 | 拒否通知全文、使用したアップロード手段 | 転送時の認証や、Xcode・SDKの受理状態が問題か |
| アップロード後の処理が停止 | App Store Connectのビルド状態、処理通知 | 転送後の検証・処理段階で止まったか |
| 審査で却下 | 審査結果と指摘内容 | 提出後の審査判断であり、アップロード拒否とは別か |
記録には、発生時刻、アプリのビルド識別情報、実行環境、使用したアップロード経路、通知全文を含めます。時刻と状態はどの工程で止まったかを示し、ビルド情報は調査対象の成果物を特定します。通知文は、次に確認する条件を絞る手掛かりになります。
実際のXcodeとSDKを確認する
Xcode 27.2でApp Storeへのアップロードが拒否された場合、Macにインストールされている版ではなく、そのArchiveを作ったジョブが実際に呼び出した版を確かめます。CIやリモートセッションでは、選択中のXcodeが想定と異なることがあります。
ターミナルまたはビルドジョブのログに、実行環境とともに次の確認結果を残します。
xcodebuild -version
xcodebuild -showsdks
続いて、Archiveの作成ログと突き合わせます。ビルド記録に出たXcode・SDKと、Mac上で確認した値が異なるなら、まずジョブの実行設定を調べてください。インストール済みという事実だけでは、そのジョブが使ったツールチェーンの証明になりません。
AppleのXcodeシステム要件は、XcodeとmacOSなどの対応情報を確認する資料です。ただし、システム要件に記載があることだけで、App Store Connectがその時点の提出を受け入れるとは判断できません。提出可否は、対象アカウントでの応答とAppleの公開情報を別に確認します。
Appleの開発者向けリリース記録では、Xcode 27.2(27B52)が2026年10月29日に公開されたことを確認できます。これは公開されたバージョンと日付を示す情報であり、App Store Connectでの受理を保証する情報ではありません。
正式版とRCを別々に評価する
Xcode 27.2 RCと正式版は、同じ系列名でも別のビルドです。RCでアップロードできた記録があっても、正式版での提出結果をそのまま推定しないでください。逆に、正式版の拒否があったという個別報告だけで、すべてのアカウントや提出経路に共通する障害だとも断定できません。
| 確認対象 | 根拠として使えるもの | 判断の限界 | 評価 |
|---|---|---|---|
| Xcodeの公開バージョン | Appleのリリース記録 | App Store Connectの受理状態までは証明しない | 公開情報として高 |
| macOS・SDKとの対応 | Xcodeシステム要件 | 提出先での受理可否を保証しない | 互換性確認として高 |
| 実際の提出可否 | 対象アカウントでのアップロード結果と状態 | ほかの環境やアカウントへ一般化できない | 対象環境では高 |
| フォーラム上の個別報告 | 開発者の投稿内容 | Appleの確認や普遍的な不具合を意味しない | 手掛かりとして限定的 |
再試行の前に条件を固定する
同じArchiveを何度も送る前に、拒否が続く条件を記録します。アップロード方法を変えたり別のArchiveを作成したりすると、比較対象が増え、何が結果を変えたのか分かりにくくなります。Appleのビルドアップロード手順も確認し、利用している手段と工程を整理してください。
- 拒否通知全文と発生時刻を保存します。エラーコードや対象バージョンを省略せず記録します。
- Archiveの識別情報と作成ログを保存し、再試行時に同じ成果物かどうかを判別できるようにします。
- ログから実行環境、Xcode、SDK、署名設定を確認します。別のXcodeが選択された形跡があれば、再送ではなく実行設定を直します。
- 再試行で変更した条件を一つずつ記録します。Archive、アップロード手段、実行環境を同時に変えると、原因の特定が難しくなります。
- App Store Connectの応答を見直し、拒否が継続しているか、処理状態が変化したかを確認します。
注意:システム要件への適合、Archiveの作成成功、App Store Connectでのアップロード受理、アプリ審査の通過は、それぞれ別の確認事項です。一つの成功を、次の工程の保証として扱わないでください。
公開経路の切り替え条件
次の条件分岐で、Xcode 27.2を使い続けるか、既に検証済みのツールチェーンへ戻すか決めます。
- 対象アカウントでXcode 27.2のアップロードが受理され、処理状態まで進んだ場合は、代表的なプロジェクトでArchive作成、署名、アップロード、処理状態を確認してから公開経路に採用します。
- 拒否がXcodeまたはSDKの受理状態を示し、再試行でも同じ結果が続く場合は、実績のある公開ツールチェーンを維持し、Appleの公開情報や対象環境の結果を改めて確認してから切り替えます。
- Archive作成や署名のエラーが具体的に示されている場合は、該当するビルド設定や署名条件を調査します。ツールチェーン拒否と同じ手順で処理しないでください。
- アップロード後の処理中、または審査段階の場合は、状態表示と通知に沿って対応します。アップロード拒否と決めつけて、別のArchiveを作り直さないでください。
よくある質問
Unsupported SDK or Xcodeが表示された場合
通知全文を保存してから、Archiveを作った実行環境のXcodeとSDKを確認します。Macにインストールされた版だけで判断せず、ビルドログ、Archive情報、提出先の応答を揃えてください。Appleのシステム要件は互換性確認に使い、現在の受理可否は対象アカウントで確かめます。
正式版とRCで提出結果が異なる理由
RCと正式版は別のビルドなので、片方の提出結果をもう片方の証拠にはできません。使用したXcodeのビルド情報とApp Store Connectの状態をそれぞれ記録します。フォーラムの報告は個別の情報として扱い、Appleの公式確認と混同しないでください。
同じArchiveを再アップロードする判断
拒否理由がXcodeやSDKの受理状態なら、同じArchiveを再送してもツールチェーン情報は変わりません。まず拒否が転送時なのか、アップロード後の処理なのかを見分けます。プラットフォーム側の状態が変わった根拠がなければ、再試行を重ねるより検証済みの公開経路を維持してください。
リモートMacで使われたXcodeの確認
ビルドジョブのログで、実行環境とXcodeのバージョン確認結果を同時に保存します。複数のXcodeがある環境では、ジョブがどれを選んだかも見直してください。Archive情報とアップロード後の状態を同じジョブに紐づけると、別環境の記録との取り違えを防げます。
公開環境を戻す前の判断
本稿の確認時点は2026年10月31日です。Xcode 27.2(27B52)の公開日とバージョンはAppleのリリース記録、互換性の照合はXcodeシステム要件、受理状況は対象のApp Store Connect応答を根拠にしてください。フォーラム報告だけで正式版の普遍的な障害や修正済み状態を決めず、公開経路の変更前に実際の提出結果を再確認します。
ローカルに検証用のMacがない場合、開発用Macの購入は初期費用に加え、保守や公開時以外の稼働管理も必要です。既存の開発環境だけで公開を続ける方法もありますが、Xcodeの切り替えやログ保存、継続的なビルド環境を自分で維持する負担があります。単発の不具合報告だけで移行を決めるのではなく、まずリモートMac環境の案内を確認し、必要なXcode・署名・アップロードの手順を再現できるか判断してください。
公開専用のMacを常時購入・管理する必要がなく、一時的な検証環境を確保したい場合は、レンタルも選択肢になります。MACGPUのMac環境の案内で利用条件を確認し、実際のジョブが必要なツールチェーンを使えることを確かめてから、公開経路に組み込んでください。