Problem
This happens with two static libraries where I do not have access to the source code.
I am trying to install the Rdio SDK in my project (using these instructions ). My project already uses many Google services, and there seems to be a conflict between the names and functions of Rdio and Google as follows:
duplicate symbol _CreateDispatchTimer in: /Users/abdullahbakhach/dev/ios/Vibereel_IOS/Vibereel/Pods/Google/Libraries/libGGLCore.a(GMRAlarm.o) /Users/abdullahbakhach/dev/ios/Vibereel_IOS/Vibereel/Vibereel/rdio-ios-3.1.0/Rdio.framework/Rdio(RDPlayer.o) ld: 1 duplicate symbol for architecture armv7 Google Core is installed on my project using cocoapods, on my podfile I have: pod 'Google/SignIn'
and in Podfile.lock I have:
- Google/Core (1.1.0): - GoogleInterchangeUtilities (~> 1.0) - GoogleNetworkingUtilities (~> 1.0) - GoogleSymbolUtilities (~> 1.0) - GoogleUtilities (~> 1.1) - Google/SignIn (1.1.0): - Google/Core - GoogleSignIn (~> 2.0) - GoogleAppUtilities (1.0.0): - GoogleSymbolUtilities (~> 1.0) - GoogleAuthUtilities (1.0.1): - GoogleNetworkingUtilities (~> 1.0) - GoogleSymbolUtilities (~> 1.0) - GoogleInterchangeUtilities (1.0.0): - GoogleSymbolUtilities (~> 1.0) - GoogleNetworkingUtilities (1.0.0): - GoogleSymbolUtilities (~> 1.0) - GoogleSignIn (2.2.0): - GoogleAppUtilities (~> 1) - GoogleAuthUtilities (~> 1) - GoogleNetworkingUtilities (~> 1) - GoogleUtilities (~> 1) - GoogleSymbolUtilities (1.0.0) - GoogleUtilities (1.1.0): - GoogleSymbolUtilities (~> 1.0.0)
What I tried / researched
I did some research and tried to find out if I can somehow change / delete / hide this method name in any of these two libraries .. but then I can through this apple documentation:
There is no mechanism to hide a class or Objective-C method defined in a dynamic library from clients of this library.
So, I'm stuck .. any ideas?
source share