iOS Appodeal fails to build

Appodeal fails when building as iOS.

I using

Corona SDK Build: 2019.3512 and 2019.3516

Xcode : 10.3

iOS : 10.14.6

ERROR: Builder failed: ld: warning: object file (/Users/sublogic/Documents/shared/APK/32/APPLE/dist/Magnum3.0.app/.build/plugin.appodeal.beta.FacebookAudience/FBAudienceNetwork.framework/FBAudienceNetwork(FBAdChoicesView.m.o)) was built for newer iOS version (9.0) than being linked (8.0)

ERROR: Builder failed: ld: warning: object file (/Users/sublogic/Documents/shared/APK/32/APPLE/dist/Magnum3.0.app/.build/plugin.appodeal.beta.AppLovin/AppLovinSDK.framework/AppLovinSDK(NSMutableDictionary+ALUtils.o)) was built for newer iOS version (9.0) than being linked (8.0)

ERROR: Builder failed: ld: warning: object file (/Users/sublogic/Documents/shared/APK/32/APPLE/dist/Magnum3.0.app/.build/plugin.appodeal.beta.base/libplugin_appodeal_base.a(AppodealLibrary.o)) was built for newer iOS version (10.3) than being linked (8.0)


Removing the Appodeal plug-in resulted in another error.

ERROR: Builder failed: duplicate symbol _OBJC_CLASS_$_GTMLogStandardFormatter in:

Will be fixed?

Hello, you didn’t post the whole error output I afraid. Part you posted are acceptable warnings, error comes later.
I think problem is some other plugins you are trying to use. Are you using Firebase?

Thank you reply.

Firebase is used for Google Push notification, but not iOS.

Build console log 

https://pastebin.com/RUkp6xtk

My build.settings

https://pastebin.com/dRygGdJ2

Plugin googleSignIn and Google Notifications V2 are using the same Symbol. What is GoogleSignIn plugin? You probably need Scott to update it.

/Users/sublogic/Documents/shared/APK/32/APPLE/dist/Magnum3.0.app/.build/plugin.notifications.v2/libGoogleToolboxForMac.a(GTMNSDictionary+URLArguments\_91d659f1a8d5d8accaa2f6857cf9e1b3.o) /Users/sublogic/Documents/shared/APK/32/APPLE/dist/Magnum3.0.app/.build/plugin.googleSignIn/libGoogleSignInDependencies.a(GTMNSDictionary+URLArguments\_f225195256d680c11f696199a63ea285.o)

Can you disable for iPhone push notifications? iPhone doesn’t need the plugin. Disable it via supportedPlayforms

I tried but had the same error.

["plugin.notifications.v2"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=false, android=true } },

Remove the following line and the build was successful.

--[[["plugin.notifications.v2"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=false, android=true } }, ]]

But I am using the Pushwoosh plugin.
This plugin requires plugin.notification.v2.

do you need the GoogleLogin also? You can disable that one and it will work.

If GoogleSignIn was disabled, the build was successful.

plugin.notifications.v2

Or

plugin.googleSignIn

It seems that building is successful when either one is disabled.
However, it is difficult for me to disable it because I provide users with GoogleID sign-in within my app.

--["plugin.googleSignIn"] = --{ -- publisherId = "tech.scotth", --},

I sent a message to help Scott see this forum.

Hey guys. Disabling the plugin on iOS should not affect push notifications in any way. It just has very basic wrapper for firebase no one uses as far as I know.

Unless you’re using firebase messaging on iOS which I don’t think even works

Let me add a little clarification here.

If you’re sending push notifications, you clearly have to use the notifications plugin. There are two versions:

plugin.notifications

plugin.notifications.v2

The only difference between the two is that .v2 supports Firebase Cloud Messaging (FCM) while the non-.v2 plugin uses the old, and deprecated (but not shut down) Google Cloud Messaging or GCM. For iOS, they are identical.

If you’re only building for iOS you can use either plugin and they should work. If you’re building for Android (either by itself or in combination of building an iOS app), you should use the .v2 plugin. However be aware that any FCM specific API calls are only going to work on Android as Apple uses APNS (Apple Push Notification Service).  In theory, FCM can relay messages to APNS so the FCM stuff was apparently working at some point. However Google frequently tries to build cross-platform tools that work both for Android and iOS only to abandon the iOS support later. This has happened multiple times. We don’t use FCM to send push notifications to iOS, so I’m not surprised if this doesn’t work. Apple wants you to use APNS. 

This plugin:
 

 ["plugin.google.play.services"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } },

***MUST BE REMOVED***

Contacting Scott about the Google SignIn plugin is appropriate. This is not a plugin in our control. If the mean time you can comment out that plugin.

Thank you for the detailed explanation.

I use Android / FCM, iPhone / APNs to send push notifications.

Since the service uses Pushwoosh, plugin.notifications.v2 is required.

I tried building with a plug-in that is not v2 as a test, but the result was the same error.

I am wondering. This is because the build was successful in Corona versions prior to 64bit.

For example, there was no problem with the Corona SDK 3480.

However, it is not possible to build using this due to recent iOS updates.

So I tried the latest 64bit version and got an error.

* plugin.google.play.services has not been used before.

Again: iOS does not use the plugin for push notifications. You can do push APN push without v2 plugin on iOS. Developer who did Firebase integration also did iOS implementation in notification.v2 plugin. If you are not using ‘require “plugin.notifications.v2”’ on iOS you can disable the plugin for iOS.

APN on iOS is in the core. No need for a plugin. Plugin required only if you want to use Firebase on iOS. Which I’m not even sure if still works.

EDIT: This is wrong. See next post

Sorry. Retraction. Previous post is wrong after I was pointed out and did some research. Ignore it. But, from other hand, notifications v1 still work on iOS.

There are a lot of complexities around implementing FCM because when we did add support, using FCM had a cool feature for being able to send messages to iOS. You register with FCM, it behind the scene tries to register with APNS. Then you use FCM to send messages once and everything is supposed to work.

But if you’re using a service like Pushwoosh, Urban Airship, etc. they know how to send to both devices, so this FCM->APNS really doesn’t make a lot of sense unless you’re using Google’s interface to send the push messages. 

It appears that FCM on iOS is conflicting with the Google SignIn plugin. We recommend that you take a modified approach to using notifications if you need Google Login.

In build settings, include both the V1 and V2 notification plugins:

settings = { plugins = { ["plugin.notifications"] = { publisherId = "com.coronalabs", supportedPlatforms={ iphone=true } }, ["plugin.notifications.v2"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } }, }, }

Then in your code:

local notifications = nil local platform = system.getInfo("platform") if "android" == platform then notifications = require( "plugin.notifications.v2") elseif "ios" == platform then notifications = require( "plugin.notifications" ) end

Now depending on your platform, you will get the appropriate plugin that shouldn’t interfere with other plugins. 

Rob

I tried yesterday and the same error occurs in a build using v1.

However, when I built it with V1, it succeeded.

For the time being, I will update iOS using V1.

It ’s strange. .

Scott will see this thread today or tomorrow.
Wait a moment for the thread to close.

This should be fixed try rebuilding in an hour

Now I have successfully built for iOS with notifications.v2 and googleSign-In plugins.
The problem seems to have been solved.
Thank you very much !

Hello, you didn’t post the whole error output I afraid. Part you posted are acceptable warnings, error comes later.
I think problem is some other plugins you are trying to use. Are you using Firebase?

Thank you reply.

Firebase is used for Google Push notification, but not iOS.

Build console log 

https://pastebin.com/RUkp6xtk

My build.settings

https://pastebin.com/dRygGdJ2