adjust / cordova_sdk

This is the Cordova SDK of
http://www.adjust.com
MIT License
36 stars 43 forks source link

Getting duplicate symbols error in Xcode 12.2 #128

Closed samirpramanik closed 3 years ago

samirpramanik commented 3 years ago

Hello,

We have upgraded to the latest version of Adjust 4.23.0 and Android works fine.However, we are facing an issue in iOS when trying to build our project on Xcode. We are getting the below error :

duplicate symbol '_OBJCCLASS$_ADJUrlStrategy' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCMETACLASS$_ADJUrlStrategy' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._gdprUrlChoicesArray' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._subscriptionUrlChoicesArray' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._baseUrlChoicesArray' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._choiceIndex' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._startingChoiceIndex' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._wasLastAttemptSuccess' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._overridenGdprUrl' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._overridenSubscriptionUrl' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._overridenBaseUrl' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) duplicate symbol '_OBJCIVAR$_ADJUrlStrategy._extraPath' in: SampleCord/Plugins/com.adjust.sdk/AdjustSdk.framework/AdjustSdk(ADJUrlStrategy-8702A38D30AAB0B9.o) ld: 12 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

We have identified that this comes when we have all_load in the linker flags. If we remove this, the duplicate symbols issue is resolved but we are getting other issues in our application. So, could you look into this issue and suggest us if there is any way to integrate the latest sdk with all_load enabled, because our application needs this flag.

load_all_Xcode
uerceg commented 3 years ago

Hi @samirpramanik

Hm. Interesting. Do you see same behaviour with -force_load instead of -all_load and if -force_load by some chance fixes the issue, does that linker flag suit the needs of your project as replacement for -all_load?

samirpramanik commented 3 years ago

Hi @uerceg

When I change -all_load to -force_load, I get a new error : clang: error: no such file or directory: 'AddressBook' Command Ld failed with a nonzero exit code

samirpramanik commented 3 years ago

Also, the older sdk which we were using i.e. 4.14.0 worked fine in our environment, we are seeing this issue after upgrading to 4.23.0

uerceg commented 3 years ago

👋 @samirpramanik

And sorry for big delay in replying in here. Wanted to check if you're still facing this issue with latest SDK version?

Cheers

uerceg commented 3 years ago

In case needed, feel free to comment/reopen.