エンジニアリングノート

iPhone Duoの拡張機能をXcode 27.1シミュレータでデバッグできない?2026年の調査

iPhone Duoの拡張機能をXcode 27.1シミュレータでデバッグできない?2026年の調査

Xcode 27.1 RCのリリースノートには、iPhone Duoシミュレータで「多くのApp Extensionを実行・デバッグできない」という既知の問題が記載されています。これはRCについての記述です。正式版の同じ制限を示す根拠にはならないため、まず正式版のリリースノートを確認し、拡張の種類ごとに検証方法を分けてください。シミュレータで失敗しても、アプリのコードや実機での動作に問題があるとは限りません。 Xcode 27.1 RCのリリースノート

対象は、ウィジェットや共有拡張などをiPhone Duoシミュレータで起動・デバッグできず、次の確認手順に迷っている独立系iOS開発者です。
リモートMac上のXcode 27.1を使う方や、公開前に画面適応と拡張機能の検証範囲を分けたい小規模チームにも向けています。

最終更新:2026年10月23日。確認対象はApple DeveloperのXcodeリリース情報、Xcode 27.1 RCリリースノート、iPhone Duoの開発者向け案内、App Extension関連文書です。正式版のサポート状況は、公開前に最新の正式版リリースノートで再確認してください。

iPhone Duo拡張機能をシミュレータでデバッグできないときの判断軸

最初に、失敗を「アプリの不具合」と決めつけず、正式版の情報、拡張の種類、発生した症状を分けて記録します。AppleのRCノートが示すのは「多くの拡張」の既知問題であり、すべての拡張が一律に非対応だという説明ではありません。

AppleのDeveloper ReleasesでXcode 27.1の正式版記録を開き、対応する正式版リリースノートを確認します。RCの記載と正式版の記載を別々に扱い、修正や制限の継続を確認できない場合は「正式版の状態は未確認」と記録してください。iPhone Duoの開発準備に関するAppleの案内も、シミュレータや検証対象を整理するときの一次資料になります。

なぜiPhone DuoシミュレータでApp Extensionを起動できないのか

原因の候補は、シミュレータのサポート範囲、ターゲットやSchemeの選択違い、拡張がホストアプリから呼び出される条件の不一致です。どれか一つに絞れるまでは、観察した症状と原因の推定を混同しないでください。

AppleのApp Extensionの説明を参照し、対象がどの拡張種類で、どのアプリやシステム機能から呼び出されるかを確認します。ウィジェットの場合は、WidgetKitのデバッグ手順も確認します。特定の拡張で得た結果を、別の拡張種類全体へ一般化するのは避けてください。

観察した症状 先に確認すること 判断できる範囲
システムの表示先に拡張が出ない 拡張種類、表示先、ホストアプリ、インストールされたビルド 登録や呼び出し条件の確認。シミュレータ非対応の可能性は残ります
選択後に起動しない 実行先、拡張ターゲットのビルド結果、起動時ログ 構成の不一致を探せます。単独ではコードの不具合と断定できません
起動後に画面や連携が崩れる 再現手順、画面状態、ホストとの通信、関連ログ プロジェクト側の問題と環境制限を分ける材料になります

第一段階:失敗を再現できる条件に分解する

拡張の種類だけでなく、どこから呼び出したか、どのホストアプリを使ったか、どの端末状態で発生したかを残します。再現条件が曖昧なままだと、別の種類の失敗を同じ問題として扱ってしまいます。

記録項目 具体的に残す内容 切り分けへの使い方
拡張 ウィジェット、共有拡張など、プロジェクト内の種類 対応情報と照合する単位をそろえます
呼び出し元 ホストアプリ、システム上の表示先、操作手順 拡張が現れないのか、呼び出し後に止まるのかを分けます
実行環境 Xcodeの版、選択したシミュレータ、インストールしたビルド 異なる実行条件の記録を混ぜないようにします
発生状態 表示の乱れ、起動失敗、起動後の異常と関連ログ 調査対象を構成・起動・実行時のいずれかに絞ります

ウィジェットの検証は、共有拡張などと同じ手順で済むとは限りません。Appleのウィジェットデバッグ文書に沿って対象ごとの確認方法を選び、公式資料で対応範囲を確認できない場合は、その点も未確認事項として残します。

第二段階:Scheme、実行先、インストール済み成果物をそろえる

シミュレータと実機では起動方法が異なりますが、まずは選択中のScheme、実行先、ホストアプリ、拡張ターゲットが今回のテスト内容に合っているかを確かめます。XcodeのScheme設定の説明とシミュレータ・実機でアプリを実行する手順が確認の基準になります。

ターミナルでは、選択肢とツールチェーンを次のように確認できます。コマンド結果は環境の実値として記録してください。

xcodebuild -version
xcodebuild -list
xcrun simctl list devices booted

次に、Xcodeのビルド結果と対象アプリの成果物を調べます。ビルド対象に拡張ターゲットが含まれているか、今回インストールしたホストアプリの成果物に拡張が含まれているかを確認してください。PRODUCT_BUNDLE_IDENTIFIERなどの設定値は、AppleのBuild Settings Referenceに照らして確認できます。

確認箇所 見る内容 問題が見つかった場合
Scheme ビルド・実行対象に意図したホストアプリと拡張が含まれるか Schemeを見直し、同じ条件で再ビルドします
実行先 選択したシミュレータと、実際に起動中のデバイスが一致するか Xcodeの実行先を選び直して記録します
ビルド結果 拡張ターゲットが成功し、対象のホストアプリが更新されているか 成果物とビルドログを確認します
インストール成果物 テストしているアプリが、今回のビルドから導入されたものか 古いビルドを使っていないか確認し、再インストールします

「ビルド成功」は、拡張がそのシミュレータで起動できる証明ではありません。また、ターゲット設定に問題がないことだけで、実行時の通信や画面の異常まで否定することもできません。

第三段階:入口がない場合と、起動後に止まる場合を分ける

拡張が入口に表示されない場合は、まずインストールされたホストアプリと拡張の構成、表示先となるシステム機能を調べます。AppleのApp Extensionの検出方法は、アプリから拡張を見つける仕組みを確認するときの参照先です。

入口から呼び出した後に起動しない場合は、起動時のログ、対象ターゲット、再現操作を集めます。起動後に表示や連携が異常になる場合は、どの時点で何が崩れるかを分けて記録してください。ログにエラーがあっても、それがシミュレータ制限の原因だと確認できるまでは、原因ではなく観察結果として扱います。

シミュレータと対応環境での検証を分ける

iPhone Duoシミュレータでは、実際に実行できる範囲の画面や表示状態を確認します。App Extensionの起動やホストとの連携がシミュレータで確認できない場合は、Appleの文書で案内される対応環境を使って補足検証してください。実機など、チームが利用できる適切な環境がなければ、その機能は「未検証」と明記します。

次の項目をチェックし、結果を「確認済み」「制限により未検証」「追加確認が必要」に分類してください。

検証結果 記録の付け方 公開判断
確認済み 対象環境、拡張種類、再現条件、結果を残す 確認した範囲に限って完了とします
制限により未検証 シミュレータで試せなかった操作と根拠を記載する 拡張機能まで検証済みとは扱いません
追加確認が必要 正式版の記載や別環境での再現が未確認であることを記録する 判断を保留し、確認後に更新します

検証環境が足りない場合の選択

手元にMacがなく、Xcodeや対応環境での確認が必要な場合は、まず開発環境の準備手順をNUMACSの利用開始ガイドで確認してください。利用する環境を比較するときは、必要なツールチェーン、接続方法、利用期間を整理したうえでMac環境の比較情報を参照できます。

WindowsやLinuxだけで確認する方法は、macOS専用のXcodeを使う作業や拡張の実行確認をそのまま代替できません。一方、自前のMacは手元の機器を直接使えますが、購入・保守の負担があり、検証専用の常設機としては持て余す場合があります。短期間の回帰確認なら、必要な期間だけMac環境をレンタルする方法も選択肢です。ただし、物理接続が必要な検査や、長期にわたり高負荷で稼働させる用途には、自前のMacが適することもあります。

公開前には、Xcodeの版、拡張種類、ホストの入口、再現条件、公式制限の確認結果、代替環境での検証結果を一つの記録にまとめてください。手元にmacOS・Xcode環境がない場合は、NUMACSの利用条件を確認し、必要な拡張動作を検証できる環境か判断してから利用を検討すると、シミュレータでの画面確認だけを拡張機能の合格と誤認せずに済みます。

Numacs クラウドMac

Xcodeの検証環境を、NUMACSの専用クラウドMacで整えませんか?

Apple Silicon搭載の専用物理Mac miniで、Xcodeのビルドやシミュレーターを使った切り分けを進められます。

デバイスを選んで注文