AppoDeal + flurry analytics generate build error

Hi, I have a problem when I use one of those plugin it build ok, but when I use them together I get build errors :s

please help 

ERROR LOG:

 

.app/.build/CoronaProvider.analytics.flurry/libanalytics-flurry.a(libCrashReporter-iphoneos.a-armv7-master.o)

.app/.build/plugin.appodeal/libAppodeal.a(PLCrashSignalHandler.o)

                    duplicate symbol _OBJC_CLASS_$_FlurryPLCrashSignalHandler in:

more than 30 entrys same 

.app/.build/plugin.appodeal/libAppodeal.a(PLCrashMachExceptionPortSet.o)

                    duplicate symbol _OBJC_CLASS_$_FlurryPLCrashReporterConfig in:

.app/.build/CoronaProvider.analytics.flurry/libanalytics-flurry.a(libCrashReporter-iphoneos.a-armv7-master.o)

.app/.build/plugin.appodeal/libAppodeal.a(PLCrashReporterConfig.o)

                    duplicate symbol _OBJC_CLASS_$_FlurryPLCrashUncaughtExceptionHandler in:

.app/.build/CoronaProvider.analytics.flurry/libanalytics-flurry.a(libCrashReporter-iphoneos.a-armv7-master.o)

.app/.build/plugin.appodeal/libAppodeal.a(PLCrashUncaughtExceptionHandler.o)

                    duplicate symbol _OBJC_CLASS_$_FlurryPLCrashReportMachExceptionInfo in:

 

.app/.build/CoronaProvider.analytics.flurry/libanalytics-flurry.a(libCrashReporter-iphoneos.a-armv7-master.o)

                    

.app/.build/plugin.appodeal/libAppodeal.a(PLCrashReportMachExceptionInfo.o)

                    ld: 95 duplicate symbols for architecture armv7

                    clang: error: linker command failed with exit code 1 (use -v to see invocation)

                    BUILD ERROR: There was a problem linking the app.

                    

                    Check the console for more information.

Oct 18 06:11:17.998 iOS build failed (12) after 548 seconds

Oct 18 06:11:18.218 ERROR: Build Failed: There was a problem linking the app.

                    

                    Check the console for more information.

 

 

 

Build.settings file

 

 

settings = { orientation = { default = "portrait", supported = { "portrait", "portrait" } }, --[[android = { versionCode = "10300", versionName = "1.3", usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", }, --googlePlayGamesAppId = "xxxxxxxxxxxx", --largeHeap = true }, --]] plugins = { --["CoronaProvider.analytics.flurry"] ={publisherId = "com.coronalabs"}, ["CoronaProvider.analytics.flurry"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true } }, ["CoronaProvider.gameNetwork.google"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } }, -- ["plugin.google.play.services"] = -- { -- publisherId = "com.coronalabs", -- supportedPlatforms = { iphone=true, android=true } -- }, ["plugin.appodeal"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true } }, ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true } }, ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz" }, }, iphone = { plist = { NSCalendarsUsageDescription = "Unused by an application", NSPhotoLibraryUsageDescription = "Unused by an application", NSCameraUsageDescription = "Unused by an application", NSAppTransportSecurity = { NSAllowsArbitraryLoads=true }, CFBundleIconFile = "Icon.png", CFBundleLocalizations = { "en", --English "es", --Spanish "it", --Italian "de", --German "fr", --French "ja", --Japanese "ru", --Rusian "zh", --Chin "vi", --viet }, CFBundleDisplayName = "---", CFBundleName = "---", CFBundleIconFiles = { "Icon.png", "Icon@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-60@3x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-167.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small.png", "Icon-Small@2x.png", "Icon-Small@3x.png" }, UIApplicationExitsOnSuspend = false, } }, excludeFiles = { iphone = { 'Icon-\*dpi.png', 'audio/\*.oog' }, android = { 'Icon.png', 'Icon-6\*.png', 'Icon-7\*.png', 'Icon-Small\*.png', 'Icon@2x.png', 'Default-568h@2x.png', 'audio/\*.m4a' } }, }

Corona version Version 2016.2973 (2016.10.18)

MAC: captain 10.11.6

xCode: Version 8.0

Hi @stockMarket183,

It appears that you’re using the legacy Flurry plugin. I suggest you update to the newer version documented here:

https://docs.coronalabs.com/plugin/flurry-analytics/index.html

Also, you shouldn’t comment out the “plugin.google.play.services” plugin. That is required to work in tandem with both Appodeal and Flurry Analytics.

Best regards,

Brent

thank you, I search on google to see if there was an update of the plugin but the first thing that comes out is the legacy version and in the documentation theres nothing about an update: https://docs.coronalabs.com/plugin/flurry/

corona should update the docs also. :frowning:

thank you for helping me with this problem. I will test this out right now.

Hi again,

You’re absolutely right… I will add a note box to the “legacy” docs pointing to the new version. Sorry for the inconvenience.

Brent

I still have the same error :s 

app/.build/plugin.flurry.analytics/libFlurry_7.5.2.a(PLCrashReportMachExceptionInfo.o)
ld: 785 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
BUILD ERROR: There was a problem linking the app.

Check the console for more information.

Oct 19 04:01:15.243 iOS build failed (12) after 653 seconds

Oct 19 04:01:15.385 ERROR: Build Failed: There was a problem linking the app.

here is my plugins part from build.settings

 plugins = { ["plugin.flurry.analytics"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true } }, ["plugin.google.play.services"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } }, ["plugin.appodeal"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true } }, ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, ["iphone-sim"]=true }, }, ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz" }, },

If I understand correctly Appodeal’s plugin includes some if not all of Flurry’s library. This creates a conflict with having duplicate symbols. 

The main solution if you want to use Appodeal is to use another analytics provider such as Google Analytics and bypass Flurry for now.

Rob

I guess I have to use another analytics.

thanks for clarify this.

off topic: about the size of the library it self of appodeal corona cant do anything about it right ?

without appodeal plugin an app test size is 7.5mb and after adding appodeal plugin on build.setting nothing else the size jump to 38mb.

I guess that appodeal use all ad networks plugins all together on their library.  

Hi @stockMarket183,

It appears that you’re using the legacy Flurry plugin. I suggest you update to the newer version documented here:

https://docs.coronalabs.com/plugin/flurry-analytics/index.html

Also, you shouldn’t comment out the “plugin.google.play.services” plugin. That is required to work in tandem with both Appodeal and Flurry Analytics.

Best regards,

Brent

thank you, I search on google to see if there was an update of the plugin but the first thing that comes out is the legacy version and in the documentation theres nothing about an update: https://docs.coronalabs.com/plugin/flurry/

corona should update the docs also. :frowning:

thank you for helping me with this problem. I will test this out right now.

Hi again,

You’re absolutely right… I will add a note box to the “legacy” docs pointing to the new version. Sorry for the inconvenience.

Brent

I still have the same error :s 

app/.build/plugin.flurry.analytics/libFlurry_7.5.2.a(PLCrashReportMachExceptionInfo.o)
ld: 785 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
BUILD ERROR: There was a problem linking the app.

Check the console for more information.

Oct 19 04:01:15.243 iOS build failed (12) after 653 seconds

Oct 19 04:01:15.385 ERROR: Build Failed: There was a problem linking the app.

here is my plugins part from build.settings

 plugins = { ["plugin.flurry.analytics"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true } }, ["plugin.google.play.services"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } }, ["plugin.appodeal"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true } }, ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, ["iphone-sim"]=true }, }, ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz" }, },

If I understand correctly Appodeal’s plugin includes some if not all of Flurry’s library. This creates a conflict with having duplicate symbols. 

The main solution if you want to use Appodeal is to use another analytics provider such as Google Analytics and bypass Flurry for now.

Rob

I guess I have to use another analytics.

thanks for clarify this.

off topic: about the size of the library it self of appodeal corona cant do anything about it right ?

without appodeal plugin an app test size is 7.5mb and after adding appodeal plugin on build.setting nothing else the size jump to 38mb.

I guess that appodeal use all ad networks plugins all together on their library.