iOS Build Error in Solar2D 3709 with admob

Hi everyone,

I’m encountering a build error when trying to compile my Solar2D project for iOS. The issue seems related to GoogleMobileAds and the arm64 architecture. Here’s the error output:

GoogleMobileAds(GADMarketplaceKitSignals.o)
(maybe you meant: __swift_FORCE_LOAD_$_swiftXPC_$_GoogleMobileAds)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

There are also warnings about missing libraries and frameworks:

arduino

ld: warning: Could not find or use auto-linked library 'swiftXPC'
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes'
ld: warning: Could not find or use auto-linked framework 'MarketplaceKit'

And a bunch of undefined symbols related to MarketplaceKit:

Undefined symbols for architecture arm64:
   "_$s14MarketplaceKit14AppDistributorO10testFlightyA2CmFWC", referenced from:
     l007 in GoogleMobileAds(GADMarketplaceKitSignals.o)
     l008 in GoogleMobileAds(GADMarketplaceKitSignals.o)
   ...

Has anyone run into this issue before or have suggestions on how to resolve it? I’m using Solar2D with admob, and it seems like the linker is failing due to missing symbols for MarketplaceKit and swiftXPC.

Any help or guidance would be greatly appreciated!

This is my build.settings:

 plugins =
    {
        ["plugin.utf8"] = { publisherId = "com.coronalabs" },
        ["plugin.OneSignal"] = { publisherId = "com.onesignal" },
        ["plugin.notifications.v2"] = { publisherId = "com.coronalabs" },
        ["plugin.admob"] = { publisherId = "com.coronalabs" },
        ['plugin.att'] = { publisherId = 'com.solar2d' }
    },

Thanks in advance!

There was an update to the Admob plugin yesterday.

You might consider forcing the plugin back to the previous version to see if you can build successfully.

["plugin.admob"] = { publisherId = "com.coronalabs", version = "v43", },

Using the previous version does fix the issue but I think that’s something @Scott_Harrison should check.

I just tired building this project, and was able to build successfully
What Xcode Version are you guy using?

1 Like

What Solar2D version are you using?

I notice that in the original post, @andavidos says they are building with Solar2D build 3709. Build 3710 updates iOS to Xcode 16, so it could be that build 3710 is required when using the updated version of the Admob plugin.

Solar2D 3700 and Xcode 15.0.1

I’m not upgrading because I think latest Solar2D does not support latest Xcode :D.

According to the release notes, Build 3710 supports Xcode 16.

If you download Xcode directly from the Apple developer website instead of the Mac App Store, you can control what version you have.

That said, Xcode 16.1 is still in beta, so if you download from the App Store, you’ll get version 16.

1 Like

Thank you!
Didn’t even know about 3710 version.

I should check more often :blush:.

Hi,

I finally managed to compile my app by updating macOS to version 15, Corona to version 3710, Xcode to version 16, and compiling for iOS 18. However, after testing the app through TestFlight, I’ve noticed that the widget.newButton buttons seem to be malfunctioning. Has anyone else experienced this issue or know of any recent changes related to this? Any insights would be appreciated!

Update: I added the following line in the build.settings:

["plugin.admob"] = { publisherId = "com.coronalabs", version = "v43" },

After that, everything seems to work fine. Is anyone else facing the same issue, or has anyone heard of updates related to this and a new version of admob plugin, version 44 is failing with widget.newButton?