iOS版本的特定info.plist设置[英] iOS version specific info.plist settings

本文是小编为大家收集整理的关于iOS版本的特定info.plist设置的处理方法,想解了iOS版本的特定info.plist设置的问题怎么解决?iOS版本的特定info.plist设置问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

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

然而 UIStatusBarStyleLightContent 值在 iOS7 中是新的,因此当在 iOS6 上运行时,UIStatusBarStyle 恢复为 UIStatusBarStyleDefault,从而为浅灰色和深色文本 iOS6 提供默认值.但是我需要我的iOS6版本才能使用黑色风格的UIStatusBarStyleBlackOpaque状态栏.

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

我知道我可以在运行时通过 UIApplication 设置该值,但这在启动图像显示之前没有影响.

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

UIStatusBarStyle: UIStatusBarStyleBlackOpaque
UIStatusBarStyle~ios7: UIStatusBarStyleLightContent

但是这不起作用,我在任何地方都找不到有关此类功能的任何苹果文档.我是不是运气不好,在 iOS6 应用启动期间将不得不忍受丑陋的白色状态栏?

编辑:刚刚在这里发现了一个类似的问题:iOS - Info.plist 中的条目仅适用于 iOS 6 及更高版本?

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

推荐答案

使用这个,我觉得对你有帮助,

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 
}

本文地址:https://www.itbaoku.cn/post/924379.html