cordova-plugin-googleplus icon indicating copy to clipboard operation
cordova-plugin-googleplus copied to clipboard

Conflicts with cordova-plugin-firebasex

Open dlandtaa opened this issue 2 years ago • 3 comments

This plugin works great on its own. The cordova-plugin-firebasex (which I'm using for push notifications) also works great on its own. These two plugins do not work great together. I have a totally new project and I have cordova-plugin-firebasex installed and working. When I go to install this plugin I get this:

$ cordova plugin add cordova-plugin-googleplus  \
--variable REVERSED_CLIENT_ID=com.myapp.whatever \
--variable WEB_APPLICATION_CLIENT_ID=whatever.myapp.com

Installing "cordova-plugin-googleplus" for ios

cordova-plugin-googleplus depends on GoogleSignIn, which may conflict with another plugin. [email protected] is already installed and was not overwritten.

cordova-plugin-googleplus depends on GoogleUtilities, which may conflict with another plugin. GoogleUtilities@~> 7.2.2 is already installed and was not overwritten.

It does add the plugin but the project does not compile in Xcode, siting errors like these:

Property 'clientID' not found on object of type 'GIDSignIn *'
Property 'serverClientID' not found on object of type 'GIDSignIn *'
No visible @interface for 'GIDSignIn' declares the selector 'setLoginHint:'

I see that in the readme you can supply the PLAY_SERVICES_VERSION when installing this plugin. I don't really know what to do with that. How do I know which version of play services are already installed? The errors above list [email protected] and GoogleUtilities@~> 7.2.2. I'm not really sure what to do here.

dlandtaa avatar Aug 28 '22 19:08 dlandtaa

Change in plugin.xml for iOS for cordova-plugin-googleplus (use version 8.5.1) GoogleSignIn to version 5.0.2 GoogleUtilities to 7.7.0 after a lot of work that's how I got it to work, hope it helps

skyline220 avatar Aug 28 '22 20:08 skyline220

@skyline220 I appreciate the info. I'm hoping there's a way to handle this that doesn't involve editing auto generated files like plugin.xml.

dlandtaa avatar Aug 30 '22 15:08 dlandtaa

@skyline220 I tried your method by updating the following lines of plugin.xml for this plugin:

<pods use-frameworks="true">
    <pod name="GoogleSignIn" spec="5.0.2"/>
    <pod name="GoogleUtilities" spec="7.7.0"/>
</pods>

and the following lines of plugin.xml for cordova-plugin-firebasex:

<pods use-frameworks="true">
    <pod name="GoogleSignIn" spec="5.0.2"/>
</pods>

I get less errors now (5 instead of 11) but it still doesn't work.

HelloCordova Group Semantic Issue Group /Users/me/Desktop/test/platforms/ios/HelloCordova/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:760:9: Unknown type name 'GIDConfiguration'; did you mean 'FIRConfiguration'? /Users/me/Desktop/test/platforms/ios/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h:27:12: 'FIRConfiguration' declared here /Users/me/Desktop/test/platforms/ios/HelloCordova/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:760:50: Unknown receiver 'GIDConfiguration'; did you mean 'FIRConfiguration'? /Users/me/Desktop/test/platforms/ios/Pods/FirebaseCore/FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h:27:12: 'FIRConfiguration' declared here ARC Semantic Issue Group /Users/me/Desktop/test/platforms/ios/HelloCordova/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:760:74: No visible @interface for 'FIRConfiguration' declares the selector 'initWithClientID:' /Users/me/Desktop/test/platforms/ios/HelloCordova/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:761:35: No visible @interface for 'GIDSignIn' declares the selector 'signInWithConfiguration:presentingViewController:callback:' /Users/me/Desktop/test/platforms/ios/HelloCordova/Plugins/cordova-plugin-firebasex/FirebasePlugin.m:885:39: No visible @interface for 'GIDSignIn' declares the selector 'disconnectWithCallback:'

Is there anything else you did to besides updating the pod specs to get it to work?

dlandtaa avatar Sep 02 '22 02:09 dlandtaa