#ifdef #else #endifselectiOS sdk版本和function?
我正在build立一个黑暗主题的iOS 6和7应用程序。 我明白我可以调用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
使iOS 7状态栏适合深色主题应用程序。
问题是我要把我的应用程序提交到App Store,而且目前Xcode 5还没有准备好,所以我必须使用Xcode 4.6.x来完成这个任务。 但是,使用Xcode 4.6,我无法从iOS 7编译新的方法。我想我必须做一些像“”如果ios7“”然后做[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
并重新定位我的应用程序窗口。
我正在试图用#ifdef
… #else
…这个代码是[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
里面的viewDidLoad
。
任何人都可以帮助理解如何在一些函数中使用#ifdef
…方法。
非常感谢!!!!
虽然我不是100%确定,但我可以在不违反NDA的情况下完全回答这个问题,我会尽我所能为您指出正确的方向。
您需要使用__IPHONE_*
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0 // iOS 6+ code here #else // Pre iOS 6 code here #endif
请注意, #if
和#ifdef
将决定编译的代码,这不是一个运行时检测机制。
您可以使用“快速打开”并键入“可用性”来轻松访问Availability.h。
看看respondsToSelector
[delegate respondsToSelector:@selector(myMethod:)]