我已经下载了最新版的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
链接器标志。
xcode 4.5和admob 6.x中的AdSupport.framework需求
另一方面,您可以在不添加额外框架的情况下对其进行修复,如果您的项目不需要此标志,请从“链接>其他链接器标志”中删除“ -Obj”标志。
我的情况有所不同,我曾经支持GoogleConvertionTracking.lib,但是在发布了几个版本之后,客户决定从客户端删除GoogleConvertionTracking.lib。从客户端删除所有必需的代码后,我开始收到此错误 “ _OBJC_CLASS _ $ _ ASIdentifierManager”,引用自:
通过GoogleConvertionTracking的支持文档后,我发现我在“ Under Linking”>“ Other Linker Flags”下添加了“ -Obj”编译器标志。
*通过从rel / deb的“链接>其他链接器标志”中删除此“ -Obj”标志,此错误消失了。
我不必添加AddSupport.framework即可消除此错误。对于那些不想添加额外框架来避免编译错误的人,此更改可能会有所帮助。
评论已关闭!