Keep getting error messages when compiling newest

2019-01-17 02:50发布

问题:

I've downloaded the newest version of googles admob sdk. But now I keep getting the following error when compiling in xcode 4.5 with the latest sdk.

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

Any idea on what could be wrong?

回答1:

You probably didn't add AdSupport.framework. Also remember to remove -all_load linker flag.



回答2:

AdSupport.framework need in xcode 4.5 and admob 6.x



回答3:

On the other way you can fix it without adding extra framework, remove the "-Obj" flag from "Linking > Other Linker Flags" if this flag is not required for your project.

I my case it was different, I had supported the GoogleConvertionTracking.lib but after couple of release customer decided to remove the GoogleConvertionTracking.lib from client. After removing all required code from client I started getting this error of ""_OBJC_CLASS_$_ASIdentifierManager", referenced from:"

After going thru the support doc of GoogleConvertionTracking I found that I had added "-Obj" compiler flag under Under Linking > Other Linker Flags.

* by removing this "-Obj" flag from "Linking > Other Linker Flags" for both rel/deb this error is gone.

I don't have to add AddSupport.framework to get rid of this error. This change may be helpful for those who don't want to add extra framework to avoid the compilation error.