Appodeal SDK "duplicate symbols for architecture x86_64" - ios

I have implement Appodeal framework, but after that i cant build my project because it gives following error.
duplicate symbol _OBJC_IVAR_$_MoPub._globalMediationSettings in:
/Users/ci-13/Library/Developer/Xcode/DerivedData/myproject-ewtecqfvsvbwpmbxhdskxxrchrda/Build/Intermediates/myproject.build/Debug-iphonesimulator/myproject.build/Objects-normal/x86_64/MoPub.o
/Volumes/Projects/myproject/Appodeal.framework/Appodeal(MoPub.o)
duplicate symbol _OBJC_CLASS_$_MoPub in:
/Users/ci-13/Library/Developer/Xcode/DerivedData/myproject-ewtecqfvsvbwpmbxhdskxxrchrda/Build/Intermediates/myproject.build/Debug-iphonesimulator/myproject.build/Objects-normal/x86_64/MoPub.o
/Volumes/Projects/myproject/Appodeal.framework/Appodeal(MoPub.o)

Related

ld: 2 duplicate symbols for architecture arm64

I added 2 third party framwekors but When I try to deploy I got this error
ld: 2 duplicate symbols for architecture arm64
duplicate symbol 'OBJC_CLASS$_Terminal' in:
/SDKThirdParty_1.a(Terminal.o)
/SDKThirdParty_2(Terminal.o)
duplicate symbol 'OBJC_METACLASS$_Terminal' in:
/SDKThirdParty_1(Terminal.o)
/SDKThirdParty_2(Terminal.o)
I try set "NO" in No CommonBlock also I search that file (Terminal.o) in compile sources but those files don't appear
Any ideas ?

AppRTC is showing duplicate symbol for architecture x86_64

I've a unique problem. I'm including the AppRTC in my project via. podfile. It is successfully getting installed and along with it libjingle_peerconnection and SocketRocket libraries are also getting installed. However when I build my project it shows duplicate symbol error for libWebRTC.a and gives the following message -->
duplicate symbol _RTCFileName in:
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o)
duplicate symbol _RTCLogEx in:
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o)
duplicate symbol _RTCSetMinDebugLogLevel in:
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o)
duplicate symbol __Z27RTCGetNativeLoggingSeverity18RTCLoggingSeverity in:
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)
(My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o)
ld: 4 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I've tried everything related to this but with no success. So please help me to solve it or atleast tell why this is happening.

Google Maps 1.10.1 iOS with cocoapods giving duplicate symbol error

I am trying to integrate the new GoogleMaps sdk 1.10.1 and I followed the quick start from https://developers.google.com/maps/documentation/ios/start
But I am getting the following error and i got stuck with duplicate symbol error.
GoogleMaps(ResourceContext.o)
duplicate symbol __ZN7gmscore8renderer14DepthMaskStateC1Eb in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZN7gmscore8renderer14DepthMaskStateC2Eb in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZN7gmscore8renderer14DepthMaskStateD0Ev in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZN7gmscore8renderer14DepthMaskStateD1Ev in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZN7gmscore8renderer14DepthMaskStateD2Ev in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZNK7gmscore8renderer14DepthMaskState11StringValueEv in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZNK7gmscore8renderer14DepthMaskState7PreDrawEPNS0_14EntityRendererERKNS_4base10reffed_ptrINS0_11EntityStateEEE in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZNK7gmscore8renderer14DepthMaskState8PostDrawEPNS0_14EntityRendererERKNS_4base10reffed_ptrINS0_11EntityStateEEE in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZTVN7gmscore8renderer14DepthMaskStateE in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(DepthMaskState.o)
duplicate symbol __ZN7gmscore8renderer15GLScopedContextC1EP15GMSIOSGLContext in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(GLScopedContext.o)
duplicate symbol __ZN7gmscore8renderer15GLScopedContextC2EP15GMSIOSGLContext in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(GLScopedContext.o)
duplicate symbol __ZN7gmscore8renderer15GLScopedContextD1Ev in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(GLScopedContext.o)
duplicate symbol __ZN7gmscore8renderer15GLScopedContextD2Ev in:
/Users/klouddata/Documents/SVN_RIL/RTSS_iOS_B200/Pods/GoogleMaps/Frameworks/GoogleMaps.framework/GoogleMaps(GLScopedContext.o)
ld: 706 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I had the same problem and I have fixed it by removing -all_load from Other Linker Flags and I let CocoaPods to set my flags.
Check your project settings for this flag.
I've noticed same problem with Xcode 6.2. No problem at all with Xcode 6.3.2
Workaround would be to use
pod 'GoogleMaps', '1.9.2'
which working fine for me (with Xcode 6.2)
check your Other Linker Flags probably you have $(inherited) with other flag to GoogleMaps -framework "GoogleMaps". I recommend set just $(inherited)
I had similar problem where there some other entries along with -ObjC in Other Linker Flags. Removing all other values except -ObjC solved my problem.
Updating XCode to the latest version and using $(inherited) as Other Linker Flags option solved this problem for me.

Bolts Apple Mach-O Linker Error

duplicate symbol _BFMeasurementEventArgsKey in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
duplicate symbol _BFAppLinkParseEventName in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
duplicate symbol _BFAppLinkNavigateInEventName in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
duplicate symbol _BFAppLinkNavigateOutEventName in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
duplicate symbol _BFAppLinkNavigateBackToReferrerEventName in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
duplicate symbol _OBJC_CLASS_$_BFMeasurementEvent in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
duplicate symbol _OBJC_METACLASS_$_BFMeasurementEvent in:
/Users/BaselFarag/Library/Developer/Xcode/DerivedData/TokenApp-dqdwcnpmpvwcdadwwxpinxtlvuoa/Build/Products/Debug-iphonesimulator/libPods-TokenApp-Bolts.a(BFMeasurementEvent.o)
/Users/BaselFarag/Desktop/src/tokenapp/Bolts.framework/Bolts(BFMeasurementEvent.o)
ld: 91 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
So I understand that there are duplicates in my files and that's why I'm receiving this error (at least that what I think it the problem according to the ld). What I don't know how to do is reconcile the multiple files. I tried just removing Bolt entirely but that just made Xcode angry. REAL angry. Any help on how to solve this one? I'm pretty sure this is an easy one but I'm a noob.
Answer for future consultation:
What solved my issue in the end was starting from scratch and installing my dependencies via Cocoapods. It appears if you try to add a framework via a drag and drop and then later user= Cocoapods the previous framework will not be noticed by Cocoapods and Cocoapods will attempt to install that very same framework again.
So when using dependencies either only use drag and drop or only use Cocoapods from the get go. Do not try to mix and match.

-ObjC linker flag - When trying to add it to "Other Linker Flags" I get an error

I'm trying to add the facebook SDK 3.2 to my app but after I add the -ObjC linker flag (as described in their video) I get a lot of duplicates warnings and I can't run the app with the error:
duplicate symbol _OBJC_IVAR_$_GAI.defaultTracker_ in:
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics.a(GAI.o)
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics_debug.a(GAI.o)
duplicate symbol _OBJC_IVAR_$_GAI.dispatcher_ in:
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics.a(GAI.o)
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics_debug.a(GAI.o)
duplicate symbol _kGAIProduct in:
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics.a(GAI.o)
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics_debug.a(GAI.o)
duplicate symbol _kGAIVersion in:
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics.a(GAI.o)
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics_debug.a(GAI.o)
duplicate symbol _OBJC_IVAR_$_GAI.trackUncaughtExceptions_ in:
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics.a(GAI.o)
/Users/gool/proj/Frameworks/GANT/libGoogleAnalytics_debug.a(GAI.o)
/Users/gool/Documents/FacebookSDK/FacebookSDK.framework/FacebookSDK(Facebook.o)
ld: 172 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Thanks
Deleting libGoogleAnalytics_debug.a and the facebook old sdk solved my problem

Resources