【Flutter】Include of non-modular header inside framework moduleの解決方法

エラー内容

FlutterのiOSアプリをビルドしようとした際に、以下のエラーが発生しました。

Console
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_messaging.FLTFirebaseMessagingPlugin

調査

以下のissueを発見

解決方法

「Allow Non-modular includes in Framework Modules」を「Yes」に変更します。(現在はデフォルトで「No」に設定されています)。

Allow Non-modular includes in Framework Modulesとは

Xcode のビルド設定の一つで、フレームワークモジュール内で非モジュールヘッダーを含めるかどうかを許可するオプションです。

この設定を「Yes」にすることで、モジュールとしてビルドされたフレームワーク内でも非モジュール化されたヘッダーを読み込めるようになり、依存する一部のライブラリやプラグイン(例えば firebase_messaging など)が非モジュールヘッダーを含んでいる場合でもコンパイルエラーが発生しにくくなります。デフォルトでは「No」に設定されており、非モジュールヘッダーを読み込もうとするとエラーが出ることがあります。