iOS版本特定的info.plist设置

时间:2013-09-25 06:58:18

标签: ios objective-c ios7 info.plist

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

然而,UIStatusBarStyleLightContent值在iOS7中是新的,因此当在iOS6上运行时,UIStatusBarStyle将恢复为UIStatusBarStyleDefault,使用浅灰色文本iOS6默认为浅灰色。但是我需要我的iOS6版本才能使用黑色样式UIStatusBarStyleBlackOpaque状态栏。

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

我知道我可以通过UIApplication在运行时设置值,但是在启动图像显示之后才会产生影响。

我希望你能为iOS版本使用类似的机制吗? e.g:

UIStatusBarStyle: UIStatusBarStyleBlackOpaque
UIStatusBarStyle~ios7: UIStatusBarStyleLightContent

然而,这不起作用,我无法在这样的功能上找到任何苹果文档。我是不是运气不好,在iOS6应用程序发布期间将不得不忍受丑陋的白色状态栏?

编辑:刚刚在这里找到了类似的问题:iOS - Entry in Info.plist for only iOS 6 and above?

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

1 个答案:

答案 0 :(得分:0)

使用此功能,我认为如此,这将对您有所帮助,

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