How to resolve duplicate symbol issue from different 3rd party library?

Hi All,


In my application, I trying to integrate 2 different 3party SDKS and I'm getting duplicate symbol error (see below)


duplicate symbol _OBJC_CLASS_$_Reachability in:

/Users/********/Dev/iOS/phonegap/voicelayer/voicelayer-sdk-plugin/src/ios/Frameworks/VoiceLayer.framework/VoiceLayer(Reachability.o)

/Users/*********/Dev/iOS/*********-iOS-SDK/iOSKandySDK/SampleApp/3rdParty/MobileSDK.framework/MobileSDK(Reachability.o)


Seems both 3rd party frameworks are using common library. Please help me how can I resolve the issue.


Thanks in Advance,


Best Regards,

Srini

This is going to be challenging. In theory you could remove one of Reachability.o's from the various static library archives but that won't necessarily work because the implementations could be different. The only reliable way to fix this is to have each library vendor use a prefix for each of their classes, including this "Reachability" class. Which, incidentally, is what they should be doing anyway (-:


Share and Enjoy

--

Quinn "The Eskimo!"

Apple Developer Relations, Developer Technical Support, Core OS/Hardware

I think everyone is using the Reachability class that was from apple sample code. Perhaps it should just be an API

Perhaps it should just be an API

Well, it is already an API (SCNetworkReachability) but I suspect you meant "Perhaps there should be a better API" (-:

If you'd like to get this suggestion in front of folks who have the power to act on it, please file an enhancement request. If you do that, post your bug number, just for the record.

When writing your bug report, please be specific about what you're using reachability for. In my experience this API is often used for all the wrong reasons, so if we introduce a better reachability API I'd like it to encourage folks to use reachability in the right way.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
How to resolve duplicate symbol issue from different 3rd party library?
 
 
Q