在IOS6 SDK上编译最新版本的admob时,不断收到错误消息



我已经下载了最新版本的谷歌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链接器标志。

xcode 4.5和admob 6.x 中需要AdSupport.framework

另一种方法是,您可以在不添加额外框架的情况下修复它,如果您的项目不需要"Linking>other Linker Flags">中的"-Obj"标志

我的情况不同,我支持GoogleConvertingTracking.lib,但在几次发布后,客户决定从客户端删除GoogleConvertingtracking.lib。从客户端删除所有必需的代码后,我开始收到"_OBJC_CLASS_$_ASIdentifierManager"的错误,引用自:">

在浏览了GoogleConvectionTracking的支持文档后,我发现我在链接>其他链接器标志下添加了"-Obj"编译器标志。

*通过从两个rel/deb的"Linking>Other Linker Flags"中删除这个"-Obj"标志,这个错误就消失了。

我不必添加AddSupport.framework就可以消除此错误。对于那些不想添加额外框架以避免编译错误的人来说,这一更改可能会有所帮助。

最新更新