dpa99c / cordova-plugin-firebasex

Cordova plugin for Google Firebase
MIT License
569 stars 461 forks source link

bug: Conflict with GoogleTagManager #327

Closed EinfachHans closed 4 years ago

EinfachHans commented 4 years ago

Bug report

Current behavior:

In Version 8.1.0 the GoogleTagManager was added. This seems to be a Problem with the Google Maps Plugin i need. Error Log while building for iOS is:

duplicate symbol '_OBJCMETACLASS$_TAGUniversalAnalytics' in: /platforms/ios/Pods/GoogleTagManager/Frameworks/GoogleTagManager.framework/GoogleTagManager(TAGUniversalAnalytics_47ae6af5e05e8872f6f955d1561b62df.o) /Plugins/cordova-plugin-google-analytics/libGoogleAnalyticsServices.a(TAGUniversalAnalytics.o) ld: 334 duplicate symbols for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

And many other similar to this.

Downgrading FirebaseX to 8.0.1 worked, but that is of course not want i want. I'm not as much into native IOS Development so maybe you know how to fix this?

Environment information

iOS build issue:

dpa99c commented 4 years ago

As stated in the error message, the conflict is with cordova-plugin-google-analytics. The problem is that this plugin bundles a static version of the Google Analytics Services library which is old and therefore incompatible with the Google Tag Manager pod which is now bundled with this plugin.

Firstly, the method of bundling a static library is inherently incompatible with the Cordova plugin environment where multiple plugins are likely to reference the same library.

Secondly, the Google Analytics Services library which cordova-plugin-google-analytics bundles has been sunsetted which AFAIK means that any events it sends to the Google servers will be ignored.

For both of these reasons, there is no change that can be made in this plugin to rectify the conflict.

EinfachHans commented 4 years ago

Thanks for your Explanation! 😊