firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.63k stars 3.95k forks source link

[firebase_crashlytics], [firebase_messaging]: Lexical or Preprocessor Issue (Xcode) #13356

Closed markbeij closed 1 day ago

markbeij commented 1 day ago

Is there an existing issue for this?

Which plugins are affected?

Crashlytics, Messaging

Which platforms are affected?

iOS

Description

When building a new Flutter app, I get

Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_crashlytics.Crashlytics_Platform':
'/.../myapp/ios/Pods/Headers/Public/Firebase/Firebase.h'
/.../.pub-cache/hosted/pub.dev/firebase_crashlytics-4.1.2/ios/Classes/Crashlytics_Platform.h:20:8

Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_crashlytics.ExceptionModel_Platform':
'/.../myapp/ios/Pods/Headers/Public/Firebase/Firebase.h'
/.../.pub-cache/hosted/pub.dev/firebase_crashlytics-4.1.2/ios/Classes/ExceptionModel_Platform.h:20:8

Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_messaging.FLTFirebaseMessagingPlugin':
'/.../myapp/ios/Pods/Headers/Public/Firebase/Firebase.h'
/.../.pub-cache/hosted/pub.dev/firebase_messaging-15.1.2/ios/Classes/FLTFirebaseMessagingPlugin.h:11:8

Reproducing the issue

flutter create myapp flutter pub add firebase_messaging flutter pub add firebase_crashlytics cd ios pod install flutter build ipa

Firebase Core version

3.5.0

Flutter Version

3.24.2

Relevant Log Output

No response

Flutter dependencies

Expand Flutter dependencies snippet
```yaml dependencies: - cupertino_icons 1.0.8 - firebase_crashlytics 4.1.2 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace] - firebase_messaging 15.1.2 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta] - flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine] dev dependencies: - flutter_lints 4.0.0 [lints] - flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math leak_tracker_flutter_testing async boolean_selector characters collection leak_tracker leak_tracker_testing material_color_utilities meta source_span stream_channel string_scanner term_glyph vm_service] transitive dependencies: - _flutterfire_internals 1.3.43 [collection firebase_core firebase_core_platform_interface flutter meta] - async 2.11.0 [collection meta] - boolean_selector 2.1.1 [source_span string_scanner] - characters 1.3.0 - clock 1.1.1 - collection 1.18.0 - fake_async 1.3.1 [clock collection] - firebase_core 3.5.0 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_core_platform_interface 5.3.0 [collection flutter flutter_test meta plugin_platform_interface] - firebase_core_web 2.18.1 [firebase_core_platform_interface flutter flutter_web_plugins meta web] - firebase_crashlytics_platform_interface 3.6.43 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_messaging_platform_interface 4.5.45 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_messaging_web 3.9.1 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web] - flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math] - leak_tracker 10.0.5 [clock collection meta path vm_service] - leak_tracker_flutter_testing 3.0.5 [flutter leak_tracker leak_tracker_testing matcher meta] - leak_tracker_testing 3.0.1 [leak_tracker matcher meta] - lints 4.0.0 - matcher 0.12.16+1 [async meta stack_trace term_glyph test_api] - material_color_utilities 0.11.1 [collection] - meta 1.15.0 - path 1.9.0 - plugin_platform_interface 2.1.8 [meta] - sky_engine 0.0.99 - source_span 1.10.0 [collection path term_glyph] - stack_trace 1.11.1 [path] - stream_channel 2.1.2 [async] - string_scanner 1.2.0 [source_span] - term_glyph 1.2.1 - test_api 0.7.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph] - vector_math 2.1.4 - vm_service 14.2.5 - web 1.0.0 ```

Additional context and comments

No response

Hozefa04 commented 1 day ago

have you found any solution to this?

markbeij commented 1 day ago

No

markbeij commented 1 day ago

Well, yes. Downgrading Xcode from 16.0 to 15.4 seems to do the trick..

[✓] Flutter (Channel stable, 3.24.3, on macOS 14.6.1 23G93 darwin-arm64, locale en-US) [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 16.0) [✓] Chrome - develop for the web [✓] Android Studio (version 2023.1) [✓] VS Code (version 1.93.1) [✓] Connected device (5 available) [✓] Network resources

MarcinusX commented 1 day ago

The issue seems to appear after upgrading to XCode 16.0.

markbeij commented 1 day ago

Yeah. Found similar issue but that issue has been closed. I don't think this should be fixed in Xcode though. See: https://github.com/firebase/flutterfire/issues/12962#issuecomment-2183898535

savansangani commented 1 day ago

How long take time to close this issue ?

savansangani commented 1 day ago

So far, I found a fix by setting "Allow Non-modular includes in Frame Modules" (CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES) to YES. Build is successful now.

SelaseKay commented 1 day ago

This issue already exists: 13323