美文网首页
iOS判断系统版本号的方法

iOS判断系统版本号的方法

作者: 罗淞 | 来源:发表于2017-07-28 16:56 被阅读150次

    很多系统方法都有版本支持的说明,所以对于支持多个系统版本,需要判断系统版本来执行方法。
    比如:

    + (NSURLSessionConfiguration *)backgroundSessionConfiguration:(NSString *)identifier NS_DEPRECATED(NSURLSESSION_AVAILABLE, 10_10, 7_0, 8_0, "Please use backgroundSessionConfigurationWithIdentifier: instead");
    + (NSURLSessionConfiguration *)backgroundSessionConfigurationWithIdentifier:(NSString *)identifier NS_AVAILABLE(10_10, 8_0);
    

    第一个方法只支持7-8版本,第二个8版本以后开始起用。

    • 方法1:获取系统版本
        NSString * systemVersion = [UIDevice currentDevice].systemVersion;
        if (systemVersion.doubleValue >= 9.0) {
            //针对 9.0 以上的iOS系统进行处理
        }
        else{
            //针对 9.0 以下的iOS系统进行处理
        }
    
    • 方法2:通过Foundation框架版本号
        if(NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_9_0) {
            //针对 9.0 以上的iOS系统进行处理
        }
        else{
            //针对 9.0 以下的iOS系统进行处理
        }
    
    • 方法3:根据特有的类判断
    if (NSClassFromString(@"UNNotification")) {
            // 存在这个类 iOS 10.0 以上系统的处理
        } else {
            // iOS 10.0 以下系统的处理
        }
    
    • 方法4:根据特有的方法进行判断
        if ([UIFont respondsToSelector:@selector(preferredFontForTextStyle:compatibleWithTraitCollection:)]) {
            // 存在这个方法 iOS 10.0 以上系统的处理
        } else {
            // iOS 10.0 以下系统的处理
        }
    

    方法3、4基本上是已经知道了类或者方法的系统支持版本再进行判断了,可用性不是很高。另外,为了防止警告,可能在判断里还需要加一些宏来去掉警告,参考:#pragma GCC diagnostic 编译器警告

    相关文章

      网友评论

          本文标题:iOS判断系统版本号的方法

          本文链接:https://www.haomeiwen.com/subject/shoxlxtx.html