我正在使用Google AdMob SDK 3开发iOS应用.AdMob SDK包含以下代码:
kADBannerContentSizeIdentifierPortrait =
&ADBannerContentSizeIdentifierPortrait != nil ?
ADBannerContentSizeIdentifierPortrait :
ADBannerContentSizeIdentifier320x50;
我了解在iOS 4.2及更高版本中不推荐使用ADBannerContentSizeIdentifier320x50。我需要将我的应用兼容到iOS 4.0。
当我在模拟器上针对iOS 4.0 SDK构建此代码时,一切顺利。当我针对设备构建iOS 4.0时,我收到以下错误:
'ADBannerContentSizeIdentifierPortrait' undeclared
这是为什么?我了解AdMob专门为实现此代码而解决了ADBannerContentSizeIdentifier320x50被弃用的问题,转而支持ADBannerContentSizeIdentifierPortrait ..那么为什么它不起作用?有什么想法吗?
感谢。
答案 0 :(得分:10)
如果您使用的是Xcode 4.5。他们已移动声明,您现在需要添加以下行:
#import <iAd/iAd.h>
答案 1 :(得分:0)
您必须使用设置为4.2或更高版本的“Base SDK”(“最新iOS”将工作)并将“iOS部署目标”设置为4.0来构建,以便它可以在您的手机上运行。将“Base SDK”设置为4.0将不起作用,因为这些符号未在SDK 4.0中定义。
答案 2 :(得分:0)
我正在使用Xcode 4.5我遇到了与上面提到的相同的问题。
在我添加了#import这个头文件后,我面临下面的另一个问题
ld:警告:忽略文件/Development/stalin/Working/ComicsheadLite1.5/iAd.framework/iAd,文件中缺少必需的体系结构i386 /Development/stalin/Working/ComicsheadLite1.5/iAd.framework/iAd(2片) 架构i386的未定义符号: “_ADBannerContentSizeIdentifierPortrait”,引自: - P_ExpressViewController.o中的[P_ExpressViewController addBannerView] “_OBJC_CLASS _ $ _ ADBannerView”,引自: P_ExpressViewController.o中的objc-class-ref ld:找不到架构i386的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)