Question

Okay so google AdMob API is supposed to work now for arm64, but I am getting this error.

Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in libGoogleAdMobAds.a(GADDevice.o)
objc-class-ref in libGoogleAdMobAds.a(GADGestureIdUtil.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've searched on Google and many people suggest to avoid using 64Bit capabilities. But now the API is supposed to work so I don't see why I should do that.

I am really stucked here.

Was it helpful?

Solution

Okay so I found the solution.

Google guide iOS developers on how to implement AdMob SDK, however they are missing some info. They tell you it's mandatory to add these Frameworks:

   - AudioToolbox.Framework
   - MessageUI.Framework
   - SystemConfiguration.Framework
   - CoreGraphics.Framework

To solve the error I added this ones also:

   -CoreData.Framework
   -AdSupport.Framework
   -CoreTelephony.Framework

OTHER TIPS

Along with -CoreData.Framework and -AdSupport.Framework I also found that I had to add the -CoreTelephony.framework in order to get a clean build of the sample app that is provided. (Banner Example)

The Google Mobile Ads SDK library references the following iOS development frameworks which may not already be part of your project:

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics
  • CoreTelephony
  • MessageUI
  • StoreKit
  • SystemConfiguration

Make sure all of them are added to your target > Build Phases > Link Binary With Libraries.

More info

along with all these

  • AdSupport
  • AudioToolbox
  • AVFoundation
  • CoreGraphics
  • CoreTelephony
  • MessageUI
  • StoreKit
  • SystemConfiguration

I had to add CoreMotion as well.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top