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.

有帮助吗?

解决方案

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

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top