iOS 4.0 v 4.2 AdMob问题:尝试在ADBannerContentSizeIdentifierPortrait上的设备中断上运行

时间:2011-05-07 15:14:27

标签: iphone ios ios4 ios-simulator admob

我正在使用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 ..那么为什么它不起作用?有什么想法吗?

感谢。

3 个答案:

答案 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查看调用)