【Flutter】Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module ‘firebase_auth.FLTAuthStateChannelStreamHandler’の解決方法

エラー内容

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

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

調査

以下のissueを発見

問題は主にiOSビルド時のInclude of non-modular headerに関連しており、Xcodeの設定やFirebaseモジュールの依存関係が原因と考えられています。

解決方法

上記のIssueで提案されている解決方法は以下の通りです。

「Allow Non-modular Includes In Framework Modules」をYESに設定する。

ios/Runner.xcodeproj/project.pbxprojを直接編集する場合

「CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES」をYESに設定する。Debug、Profile、Releaseの3つ変更が必要なので注意!

project.pbxproj
/* Begin XCBuildConfiguration section */	2XXXXXXXXXXXXXXXXXXXX9 /* Profile */ = {	isa = XCBuildConfiguration;	buildSettings = {	ALWAYS_SEARCH_USER_PATHS = NO;	CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES;