繁体   English   中英

如何在Objective C中检测iOS版本?

[英]How to detect iOS version in Objective C?

我正在使用Firebase 3.7.x来存储数据库。 Firebase 3.7.x支持iOS 7.0或更高版本,但我的项目从iOS 6.0开始支持。 所以我想检测设备中的iOS版本以调用@import Firebase 像这样:

if IOS_7_OR_HIGHER
@import Firebase
else
//do nothing

if IOS_7_OR_HIGHER
- (void)dosomething{}
else
- (void)donothing {}

我知道if #available迅速提供。 是否有任何代码像if #available在Objective C中if #available 还是有什么方法可以为iOS 7或更高版本导入Firebase并为iOS6禁用禁用功能?

谢谢。

您可以使用获取设备系统版本

-(NSString*)getDeviceVersion{
    return [[UIDevice currentDevice] systemVersion];
}

它将以字符串形式返回设备版本,例如@“ 4.0”。

希望对您有帮助。

试试下面的代码:

    NSArray *osVersion = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];

    if ([[osVersion objectAtIndex:0] intValue] >= 7) {
        // iOS-7 or greater
    } else if ([[osVersion objectAtIndex:0] intValue] == 6) {
        // iOS-6 code
    } else if ([[osVersion objectAtIndex:0] intValue] > 2) {
        // iOS-3,4,5 code
    } else {
        // iOS-1,2... code
    }

要回答您的问题,您可以这样做:

#ifdef __IPHONE_6_0
    //Do something patchy!
#else
    @import Firebase
#endif 

卑微建议:您可以考虑升级您的应用程序。

苹果公司最近的iOS版本统计计数器显示,只有5%的设备仍具有iOS 8、7或<=6。这意味着,您应该放弃对所有这些版本的支持,或者应该开始支持iOS9。

这样一来,您将获得所有最新的iOS功能,并且将来无需再进行此类修补。

在此处输入图片说明

资料来源: https : //developer.apple.com/support/app-store/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM