在IOS6 SDK上编译最新版本的admob时,不断收到错误消息
我已经下载了最新版本的Google admob sdk。 但是现在我在使用最新的sdk在xcode 4.5中编译的时候不断收到下面的错误。
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)
任何想法可能是错的?
您可能没有添加AdSupport.framework。 另外请记住删除-all_load
链接器标志。
AdSupport.framework需要在xcode 4.5和admob 6.x中
另一方面,您可以在不添加额外框架的情况下修复它, 如果您的项目不需要此标志,请从“链接>其他链接器标志”中删除“-Obj”标志。
我的情况是不同的,我曾经支持GoogleConvertionTracking.lib,但在发布几个版本之后,客户决定从客户端删除GoogleConvertionTracking.lib。 从客户端删除所有必需的代码后,我开始得到“_OBJC_CLASS _ $ _ ASIdentifierManager”的错误,引用自:“
通过GoogleConvertionTracking的支持文档后,我发现我在“链接>其他链接器标志”下添加了“-Obj”编译器标志。
*通过从“链接>其他链接器标志”删除这个“-Obj”标志为rel / deb这个错误消失了。
我不必添加AddSupport.framework来摆脱这个错误 。 对于那些不想增加额外框架来避免编译错误的人来说,这种改变可能会有所帮助。