PC パソコン

Xcode「No such module ‘Playgrounds’」(Mac Catalyst)の解決方法

Xcode 26 Beta 1でPlaygroundマクロを含むコードをMac Catalyst向けにビルドすると、Playgroundsモジュールが見つからずコンパイルが停止することがあります。Appleはこの既知問題をXcode 26 Beta 2で修正しました。

代表的なエラー

error: no such module 'Playgrounds'
Build failed because Playgrounds could not be found.

Appleのリリースノートでは「Playground macros currently cause a build failure saying that Playgrounds cannot be found when built for Mac Catalyst」と説明されています。

原因

Xcode 26 Beta 1のPlaygroundマクロ対応に、Mac Catalyst向けビルド時だけ必要なPlaygroundsサポートモジュールを正しく解決できない不具合があったことが原因です。同じソースがiOSシミュレータや通常のmacOSターゲットでは通り、Mac Catalystでだけ失敗する場合は、この既知問題と一致します。

これは一般的なSwift Packageの「No such module」とは原因が異なります。AppleのIssue番号は151029441で、Xcode 26 Beta 2のResolved Issuesに掲載されています。

発生条件・対象バージョン

  • Xcode 26 Beta 1を使用している
  • #PlaygroundなどのPlaygroundマクロを含むコードがある
  • ビルド先がMac Catalystである

公式修正版はXcode 26 Beta 2です。安定版Xcode 26以降にも修正が含まれます。

推奨する解決手順

  1. About Xcodeまたはコマンドで現在のXcodeバージョンを確認します。
  2. Xcode 26 Beta 2以降、できれば最新の安定版へ更新します。
  3. 複数のXcodeがある場合は、コマンドラインのDeveloper Directoryを修正版へ切り替えます。
  4. 対象プロジェクトのDerived Dataを削除します。
  5. Mac Catalystを実行先に選び、Clean Build Folder後に再ビルドします。
xcodebuild -version
xcode-select -p
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

更新後もエラーが残る場合

古いコンパイル結果が残っている可能性があるため、対象プロジェクトだけのDerived Dataを削除します。

rm -rf ~/Library/Developer/Xcode/DerivedData/<対象プロジェクト>

Swift Packageを使っている場合は、XcodeのFile > Packagesから依存関係を再解決してから再ビルドします。

代替策

  • 修正版へ更新できるCIイメージまたは別のMacでCatalystビルドを行う。
  • 一時的にPlaygroundマクロを製品ターゲットから分離し、Mac Catalystビルドへ含めない。
  • Mac Catalyst以外の対応ターゲットで作業を続け、更新後にCatalystビルドを再開する。

マクロの削除やターゲット分離はAppleがこの不具合の公式回避策として保証したものではありません。アプリの機能やビルド構成へ影響するため、更新までの暫定策として扱ってください。

確認方法

  1. xcodebuild -versionがXcode 26 Beta 2以降を示すことを確認します。
  2. Mac CatalystのSchemeとDestinationを選択します。
  3. クリーンビルドを行い、ログからNo such module 'Playgrounds'が消えたことを確認します。
  4. Playgroundマクロを含むファイルがコンパイルされ、アプリがCatalyst環境で起動することを確認します。

注意点

修正版でもエラーが続く場合は、XcodeのToolchains設定、xcode-select、CIのDEVELOPER_DIRが別バージョンを指していないか確認してください。また、手動でPlaygroundsをPackage.swiftへ追加するのは避けてください。Xcode付属のサポートモジュールを通常の外部依存関係として扱う解決方法ではありません。

まとめ

Mac Catalystで発生するNo such module 'Playgrounds'は、Xcode 26 Beta 1のPlaygroundマクロに関する既知問題です。Xcode 26 Beta 2以降へ更新し、選択中のツールチェーンとキャッシュを確認したうえで再ビルドするのが推奨手順です。

公式情報