我正在建造一个黑暗主题的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
...方法。
非常感谢!!!!
答案 0 :(得分:20)
虽然我并非100%确定我可以在不违反保密协议的情况下完全回答这个问题,但我会尽力指出正确的方向。
您需要使用Availability.h中的__IPHONE_*
#defines
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
// iOS 6+ code here
#else
// Pre iOS 6 code here
#endif
请注意,#if
和#ifdef
将确定已编译的代码,它不是运行时检测机制。
您可以使用“快速打开”并输入“可用性”轻松访问Availability.h。
答案 1 :(得分:2)
看看respondsToSelector
[delegate respondsToSelector:@selector(myMethod:)]