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

时间:2012-09-27 18:54:39

标签: ios xcode admob ios6

我已经下载了最新版本的googles 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)

有什么可能出错的想法吗?

3 个答案:

答案 0 :(得分:181)

您可能没有添加AdSupport.framework。还要记得删除-all_load链接器标志。

答案 1 :(得分:9)

xcode 4.5和admob 6.x

中需要AdSupport.framework

答案 2 :(得分:1)

另一方面,您可以在不添加额外框架的情况下修复它,删除" -Obj"标记来自"链接>其他Linker Flags" 如果您的项目不需要此标记

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

在通过GoogleConvertionTracking的支持文档后,我发现我添加了" -Obj" Under Linking>下的编译器标志其他链接器标志。

* 删除此" -Obj"标记来自"链接>其他Linker Flags"对于rel / deb这个错误都消失了。

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