iOS版本特定的info.plist设置

我正在更新iOS7的应用程序(同时还支持iOS6),并更新状态栏使用UIStatusBarStyle: UIStatusBarStyleLightContent使用白色的前景。

但是, UIStatusBarStyleLightContent值是iOS7中的新增function,因此在iOS6上运行时, UIStatusBarStyle会恢复为UIStatusBarStyleDefault ,并将暗灰色文本iOS6默认为浅灰色。 但我需要我的iOS6版本使用黑色风格的UIStatusBarStyleBlackOpaque状态栏。

鉴于您可以为不同的设备和平台types设置info.plist设置,例如UIStatusBarStyle~ipad : https : //developer.apple.com/library/ios/DOCUMENTATION/iPhone/conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

我知道我可以通过UIApplication在运行时设置这个值,但是直到启动图像显示之后,这个效果才会UIApplication

我希望你可以使用类似的机制的iOS版本? 例如:

 UIStatusBarStyle: UIStatusBarStyleBlackOpaque UIStatusBarStyle~ios7: UIStatusBarStyleLightContent 

但是,这是行不通的,我找不到任何地方的任何苹果文件这样的function。 我运气不好,将不得不在iOS6应用程序启动期间与丑陋的白色状态栏一起生活?

编辑:刚才在这里find了一个类似的问题: iOS – 仅在iOS 6和更高版本的Info.plist中input?

似乎答案是否定的,这是不可能的。 除非iOS7有任何更新?

用这个,我想是这样,这对你有帮助,

 if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier, ie set status bar here for previous versions } else { // Load resources for iOS 7 or later, set status bar here for ios 7 }