好,开始与我敢肯定,这是一个简单的问题。
我开发与iAd的框架,它只能运行于iOS 4.0或更高版本的iPhone应用程序。
不过,我想选择一个iPhone OS 3.0的部署目标,这一切都导致崩溃。
- 如何有条件地包括iAd的框架? ......我的意思是,这将是这样的:...如果([的UIDevice currentDevice] systemVersion]> = 4.0])#进口
显然,这是行不通的,因为我不知道正确的语法。 也:
- 如何有条件地声明AdView *变量?
- 如何有条件地处理这个问题的AdView *我在执行文件变量。
如果你们能帮助我,我会很好的印象。
谢谢
你不需要改变你包括你需要弱链接的iAd系统(或任何其他新的框架):
在你的目标,在链接的框架找到的iAd和“必需”,以“弱”改变“角色”。
有条件地处理变量,使用NSClassFromString
功能,如下所示:
Class AdClass = NSClassFromString(@"ADBannerView");
if(AdClass) {//if the class exists
ADBannerView* myAd = [[AdClass alloc] initWithFrame:CGRectZero];
// do something with the ad
}
如果操作系统是iOS的比旧的4.0, AdClass
将是nil
和的代码将不会执行。 请注意,使用ADBannerView*
作为变量的类型应该不会造成任何问题,因为它只是一个提示的编译器和相同id
编译后。