Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

iOS Appodeal fails to build
Started by umalemon Aug 14 2019 11:48 PM

17 replies to this topic

Best Answer umalemon , 20 August 2019 - 11:21 PM

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 !

[TOPIC CONTROLS]
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

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?
 

 


[TOPIC: post.html]
#2

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 979 posts
  • Corona Staff

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?

[TOPIC: post.html]
#3

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

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



[TOPIC: post.html]
#4

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,280 posts
  • Corona SDK

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)

Edited by agramonte, 15 August 2019 - 07:13 AM.


[TOPIC: post.html]
#5

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 979 posts
  • Corona Staff

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

[TOPIC: post.html]
#6

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

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.
 

 


[TOPIC: post.html]
#7

agramonte

[GLOBAL: userInfoPane.html]
agramonte
  • Corona Geek

  • 1,280 posts
  • Corona SDK

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



[TOPIC: post.html]
#8

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

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.
 

 


[TOPIC: post.html]
#9

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 979 posts
  • Corona Staff

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.

[TOPIC: post.html]
#10

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 979 posts
  • Corona Staff

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

[TOPIC: post.html]
#11

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 26,400 posts
  • Enterprise

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.



[TOPIC: post.html]
#12

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

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.


[TOPIC: post.html]
#13

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 979 posts
  • Corona Staff

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



[TOPIC: post.html]
#14

vlads

[GLOBAL: userInfoPane.html]
vlads
  • Contributor

  • 979 posts
  • Corona Staff

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.



[TOPIC: post.html]
#15

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 26,400 posts
  • Enterprise

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



[TOPIC: post.html]
#16

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

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.
 


[TOPIC: post.html]
#17

Scott Harrison

[GLOBAL: userInfoPane.html]
Scott Harrison
  • Corona Geek

  • 1,822 posts
  • Enterprise

This should be fixed try rebuilding in an hour



[TOPIC: post.html]
#18

umalemon

[GLOBAL: userInfoPane.html]
umalemon
  • Contributor

  • 139 posts
  • Corona SDK

  Best Answer

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 !




[topic_controls]
[/topic_controls]