前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS判断系统版本号的四种方法

iOS判断系统版本号的四种方法

作者头像
Cloudox
发布于 2021-11-23 05:15:16
发布于 2021-11-23 05:15:16
4.4K00
代码可运行
举报
文章被收录于专栏:月亮与二进制月亮与二进制
运行总次数:0
代码可运行

iOS开发过程中,如果要使用到一些跟特定系统版本特性有关的功能,或者要适配低版本系统的用户,还有一些方法是新版本系统才有的,有一些方法在新版本中已经弃用了,这都需要对不同系统版本的设备进行分别的处理,而这有个前提就是判断系统的版本号。

判断系统版本号有多种方法,这里都列出来供大家和自己在开发中需要时进行选择使用。

方法一:直接获取系统版本

iOS提供了直接获取系统版本号的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NSString *version = [UIDevice currentDevice].systemVersion;
if (version.doubleValue >= 9.0) {
    // 针对 9.0 以上的iOS系统进行处理
} else {
    // 针对 9.0 以下的iOS系统进行处理
}

这种方法应该说也是最常见和常用的方法了。

方法二:通过Foundation框架版本号

iOS系统升级时Foundation框架也会升级版本号,我们可以通过获取Foundation的版本号来判断对应的iOS版本,这个iOS也提供了很直观的宏来进行判断:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#if TARGET_OS_IPHONE
#define NSFoundationVersionNumber_iPhoneOS_2_0  678.24
#define NSFoundationVersionNumber_iPhoneOS_2_1  678.26
#define NSFoundationVersionNumber_iPhoneOS_2_2  678.29
#define NSFoundationVersionNumber_iPhoneOS_3_0  678.47
#define NSFoundationVersionNumber_iPhoneOS_3_1  678.51
#define NSFoundationVersionNumber_iPhoneOS_3_2  678.60
#define NSFoundationVersionNumber_iOS_4_0  751.32
#define NSFoundationVersionNumber_iOS_4_1  751.37
#define NSFoundationVersionNumber_iOS_4_2  751.49
#define NSFoundationVersionNumber_iOS_4_3  751.49
#define NSFoundationVersionNumber_iOS_5_0  881.00
#define NSFoundationVersionNumber_iOS_5_1  890.10
#define NSFoundationVersionNumber_iOS_6_0  992.00
#define NSFoundationVersionNumber_iOS_6_1  993.00
#define NSFoundationVersionNumber_iOS_7_0 1047.20
#define NSFoundationVersionNumber_iOS_7_1 1047.25
#define NSFoundationVersionNumber_iOS_8_0 1140.11
#define NSFoundationVersionNumber_iOS_8_1 1141.1
#define NSFoundationVersionNumber_iOS_8_2 1142.14
#define NSFoundationVersionNumber_iOS_8_3 1144.17
#define NSFoundationVersionNumber_iOS_8_4 1144.17
#define NSFoundationVersionNumber_iOS_8_x_Max 1199
#define NSFoundationVersionNumber_iOS_9_0 1240.1
#define NSFoundationVersionNumber_iOS_9_1 1241.14
#define NSFoundationVersionNumber_iOS_9_2 1242.12
#define NSFoundationVersionNumber_iOS_9_3 1242.12
#define NSFoundationVersionNumber_iOS_9_4 1280.25
#define NSFoundationVersionNumber_iOS_9_x_Max 1299
#endif

可以看到,最上面判断了这是iPhone的系统,相应的还有Mac的系统。这些都是NSFoundationVersionNumber这个宏定义的值,我们可以判断它来获取当前设备的系统版本,用法如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_9_0) {
    // iOS 9.0 以上系统的处理
} else {
    // iOS 9.0 以下系统的处理
}

方法三:根据特有的类判断

我们之前说有些类和方法是新版本才有的,要使用的时候要判断一下版本号,但也可以反过来利用这一点,判断有没有这个类从而得知当前的版本号范围。

比如说 UIAlertController 这个类,是iOS 8之后才出现的,用来取代 UIAlertView 和 UIActionsheet 的,如果当前系统没有这个类,说明是低于iOS 8的,可以这么判断:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (NSClassFromString(@"UIAlertController")) { // 存在这个类
    // iOS 8.0 以上系统的处理
} else {
    // iOS 8.0 以下系统的处理
}

方法四:根据特有的方法进行判断

类似于根据特有的类来判断,有些方法也是某个系统版本之后才出现的,根据有无这个方法即可得知当前版本号的范围,比如 boundingRectWithSize:options:attributes:context: 这个方法是 iOS 7.0 之后才有的,可以这样判断:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if ([@"" respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]) { // 存在这个方法
    // iOS 7.0 以上系统的处理
} else {
    // iOS 7.0 以下系统的处理
}

其实根据类和方法来判断直接就可以决定使用什么类和方法了,也算是跳过了先判断系统然后选择方法这一步,严格来说已经不算是为了判断系统版本了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/11/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
论如何用AI做视频滤镜:SIGGRAPH Asia 2016
新海诚“你的名字”同款滤镜着实在各社群火爆一把,朋友圈中滤镜粉们纷纷穿越到二次元,普通图片经过滤镜的渲染粉饰重获“新生”。滤镜处理图片的技术现在已经司空见惯,但是迁移到视频上,实现高质量且风格百变的效果却鲜为人知。一方面因为大规模推广的厂商不多,另一方面也因为这背后牵扯的技术难度较大。在刚刚结束的SIGGRAPH Asia 2016上,腾讯AI Lab现场揭秘了实时视频风格转换是如何生成的。本文内含演讲PPT,纯正技术干货立即奉上 演讲主题:基于深度学习的图像和视频风格转化 演讲者:matt,腾讯AI L
腾讯技术工程官方号
2018/01/29
9870
论如何用AI做视频滤镜:SIGGRAPH Asia 2016
艺术滤镜视频来了!腾讯人工智能首创深度网络学习视频
腾讯18周年庆当天,腾讯人工智能实验室(AI Lab)首次发布深度网络学习视频案例——《青春无畏,冲动不止》庆生视频的艺术滤镜版本 今年风靡业界的Prisma以及天天P图的“潮爆艺术画”,能够将用户拍摄的照片变换成指定的风格。它不仅仅是一个简单的图像滤镜操作,它赋予深度神经网络学习任意艺术风格的能力,并且能够应用到任意的输入图像中,是以深度学习为代表的AI技术在艺术上的创新。 视频是未来互联网上最多的流量载体。“未来 70%、80% 的流量可能都出自视频”。 在图像风格变换引起爆发性关注之后,一系列的公司,
腾讯技术工程官方号
2018/01/29
1.1K0
艺术滤镜视频来了!腾讯人工智能首创深度网络学习视频
2021智博会即将开幕,腾讯优图携「AI画廊」与你相“渝”
2021中国国际智能产业博览会(以下简称2021智博会)将于本月23—25日,在山城重庆举办。本次大会主题为“智能化:为经济赋能,为生活添彩”,重点围绕工业互联网、智能制造、工业软件、产业基础再造等重点领域,以“线上虚拟展+线下实体展”的形式展开。届时,腾讯优图将带来一次特别的AI互动,与大家在「AI画廊」相“渝”。
优图实验室
2021/08/17
7320
2021智博会即将开幕,腾讯优图携「AI画廊」与你相“渝”
【犀牛鸟·视野】SIGGRAPH ASIA 2018:腾讯“AI画师YUI”的背后技术
导语 腾讯AI Lab在SIGGRAPH ASIA 2018上展出了自主研发的“AI画师YUI”demo。访客可以直接用手机拍摄一张自己的照片,然后利用AI画师YUI的微信小程序自动将真人头像转换成萌萌的日系二次元头像。转换结果可以现场打印成照片,供访客带回家留念。很多访客都亲身试用了该功能,表示非常有趣,期待着未来的正式上线。 图1 SIGGRAPH AISA上现场展示AI画师YUI YUI 的日文假名写法为“ゆい”,对应汉字为“結”(简体中文:结),其意思即“连结”。其名字的寓意是希望 Y
腾讯高校合作
2018/12/19
1.3K0
【犀牛鸟·视野】SIGGRAPH ASIA 2018:腾讯“AI画师YUI”的背后技术
PS 2021融入AI新技术!用起来简单,几个键搞定老照片修复、变妆、绘画风格转换
PS 2021中,新增的功能“神经滤镜” (Neural Filters)令人惊艳,将近期有意思的CV(计算机视觉)技术都收入其中。
AI算法与图像处理
2020/11/05
2.9K0
想不想让你拍的照片秒变宫崎骏风格漫画,一起来看看CartoonGAN
让我们观察一下上面这张图片,仔细看一看,两张图片有什么不同,看出来了吧?右边这幅图明显不像现实中的车辆嘛,是不是很像漫画呢?有了这个CartoonGAN,漫画家会不会失业呀?
AI深度学习求索
2018/12/11
2.4K0
腾讯AI Lab多篇论文入选CVPR、ACL及ICML等顶级会议(附论文下载)
腾讯AI Lab微信公众号今日发布了其第一条消息,宣布腾讯AI Lab多篇论文入选即将开幕的CVPR、ACL及ICML等顶级会议。 在AI科技大本营公众号会话中输入“腾讯”,打包下载腾讯AI Lab入选CVPR、ACL及ICML的论文。 腾讯AI实验室授权转载 1. CVPR IEEE Conference on Computer Vision and Pattern Recognition IEEE国际计算机视觉与模式识别会议 7月21日 - 26日 | 美国夏威夷 CVPR是近十年来计算机
AI科技大本营
2018/04/28
1K0
腾讯AI Lab多篇论文入选CVPR、ACL及ICML等顶级会议(附论文下载)
腾讯AI Lab多篇论文入选CVPR、ACL及ICML等顶级会议
本文介绍了腾讯AI Lab在计算机视觉、自然语言处理、语音识别、游戏AI和机器人这五个领域的研究方向,包括具体的技术发展和应用场景。此外,还分享了腾讯AI Lab在研究上的新进展和未来的计划。
腾讯AI实验室
2017/07/20
5.6K0
腾讯AI Lab多篇论文入选CVPR、ACL及ICML等顶级会议
有个微信小程序想人工智能跟你一起修复老照片
IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 每到过年,长辈们总会翻出所剩不多的老照片讲讲故事。这些老照片黑白,或者泛黄。模糊的画面里是你熟悉又陌生的身影。   对
IT派
2018/03/27
2.8K0
有个微信小程序想人工智能跟你一起修复老照片
干货 | 抖音漫画效果解密
这个效果可谓非常惊艳,真切的将真人照片转换为了漫画风格,而且支持多人处理,也是因此,一时间刷遍了抖音和朋友圈,周末两天的使用量达到了20亿次以上。
OpenCV学堂
2020/06/29
2.2K0
干货 | 抖音漫画效果解密
《蜘蛛侠:平行宇宙》的视觉解析与滤镜实现
早在四年前,索尼想要制作全新风格的“蜘蛛侠”电影这一消息被泄露时,一个显眼的词汇便被反复提及——“rejuvenate”,译为“使其恢复年轻”。当时,除去《蜘蛛侠:返校日》之外,由索尼出品的《蜘蛛侠》真人电影已有五部之多(托比·马圭尔主演《蜘蛛侠》三部曲,以及安德鲁·加菲尔德主演的两部《超凡蜘蛛侠》)。索尼高层希望以一部动画电影来让这个系列重新恢复活力。 而为了拍摄这部动画电影,索尼找到了当时因《天降美食》系列以及《乐高大电影》等作品在业界小有名气的导演搭档——菲尔·罗德和克里斯托弗·米勒。有着天马
腾讯技术工程官方号
2019/01/09
1.5K0
《蜘蛛侠:平行宇宙》的视觉解析与滤镜实现
基于深度学习的艺术风格化研究【附PDF】
廖菁博士,获浙江大学和中国香港科技大学双博士学位;毕业后曾工作于微软亚洲研究院,担任视觉计算组研究员,主要研究方向为计算机图形学、计算机视觉、图像视频处理等;现任中国香港城市大学计算机科学系助理教授。
马上科普尚尚
2020/05/11
1.6K0
基于深度学习的艺术风格化研究【附PDF】
AI+漫画生产 小冰、百度们的新商机?
近年,由于网络的普及,动漫作品传播的速度不断加快,二次元文化的受众数量不断上升,影响范围也越来越广泛。
用户2908108
2021/04/26
9100
AI+漫画生产 小冰、百度们的新商机?
AI视频新霸主诞生!Dream Machine官宣免费用,电影级大片全网玩疯
就在今天,Luma AI首发了自己的视频生成模型Dream Machine,可以通过文字或图片生成高质量的逼真视频。
新智元
2024/06/17
3290
AI视频新霸主诞生!Dream Machine官宣免费用,电影级大片全网玩疯
加速时光,让你永远70岁的「变老神器」FaceAPP突然爆红,却恐遭美国封杀
这款应用使用 AI 算法,可以瞬间把人们上传的人脸照片「年轻」或者「老化」。它就是这几天网上充斥各界明星 17 岁/80 岁照片的万恶之源。
机器之心
2019/07/19
1.3K0
加速时光,让你永远70岁的「变老神器」FaceAPP突然爆红,却恐遭美国封杀
看完 50000 张专辑封面后,AI 设计师疯狂输出
内容一览:西班牙艺术家利用 StyleGAN2 打造了一个 AI 设计师,借助 50000 张图像自学成才,没想到培养一个印象派设计师这么简单。
HyperAI超神经
2021/04/14
9090
打开人工智能的“潘多拉魔盒”
数以百万计的人每天都在以某种形式使用着人工智能(AI),而其中大部分都是在不知不觉中进行的,本文将简单列举AI在文本、音频、图像、视频、互动等方面的应用。 一、AI文本内容 作诗、编剧、写稿等 AI已经可以自动生成古典诗和现代诗,部分AI已经通过图灵测试,但整体水平还未超人。完全由AI自动编出的剧本逻辑混乱,还称不上剧本,所以目前AI主要在人的配合下完成剧本创作,集中在科幻、恐怖2个题材上。人机协作分为:人创作主线,机器填充内容;机器生成初稿,人进行修改;人机接龙;机器提供编剧建议等几种方式。
企鹅号小编
2018/01/30
1.1K0
打开人工智能的“潘多拉魔盒”
FaceApp:基于深度网络为人像照片加笑容,实现年龄、性别变换
【新智元导读】 FaceApp 不仅是一个有趣的应用,它证明了人工智能如何使得处理照片变得前所未有的简单。比如,p上笑容、年龄和性别转换均可以轻松完成。过年拍了很多美照?让深度学习来帮你把它们变得更
新智元
2018/03/27
3.9K0
FaceApp:基于深度网络为人像照片加笑容,实现年龄、性别变换
爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品
之所以会被称为是“视频版ControlNet”,主要原因在于CoDeF能够对原视频做到精准控制。
量子位
2023/09/08
3590
爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品
一句话拍大片,导演末日来了!Gen-2震撼发布,科幻日系二次元统统拿捏
---- 新智元报道   编辑:Aeneas 好困 【新智元导读】Runway的Gen-1还没内测完,Gen-2就以迅雷不及掩耳之势发布了。这次的效果更加炸裂,AI大导离淘汰人类,又近了一步。 昨天,Midjourney生成的完美情侣刷爆网络,大家纷纷在留言区里畅想,下一步,就是演员被淘汰,人人都能升级大导,一键生成大电影了。 巧得很,今天,会做视频的AI模型不就来了嘛。 刚刚,仿佛一声惊雷炸响,Runway发布了文字生成视频模型Gen-2。 宣传词也是非常炸裂——「say it,see it」,只要
新智元
2023/03/29
4400
一句话拍大片,导演末日来了!Gen-2震撼发布,科幻日系二次元统统拿捏
推荐阅读
论如何用AI做视频滤镜:SIGGRAPH Asia 2016
9870
艺术滤镜视频来了!腾讯人工智能首创深度网络学习视频
1.1K0
2021智博会即将开幕,腾讯优图携「AI画廊」与你相“渝”
7320
【犀牛鸟·视野】SIGGRAPH ASIA 2018:腾讯“AI画师YUI”的背后技术
1.3K0
PS 2021融入AI新技术!用起来简单,几个键搞定老照片修复、变妆、绘画风格转换
2.9K0
想不想让你拍的照片秒变宫崎骏风格漫画,一起来看看CartoonGAN
2.4K0
腾讯AI Lab多篇论文入选CVPR、ACL及ICML等顶级会议(附论文下载)
1K0
腾讯AI Lab多篇论文入选CVPR、ACL及ICML等顶级会议
5.6K0
有个微信小程序想人工智能跟你一起修复老照片
2.8K0
干货 | 抖音漫画效果解密
2.2K0
《蜘蛛侠:平行宇宙》的视觉解析与滤镜实现
1.5K0
基于深度学习的艺术风格化研究【附PDF】
1.6K0
AI+漫画生产 小冰、百度们的新商机?
9100
AI视频新霸主诞生!Dream Machine官宣免费用,电影级大片全网玩疯
3290
加速时光,让你永远70岁的「变老神器」FaceAPP突然爆红,却恐遭美国封杀
1.3K0
看完 50000 张专辑封面后,AI 设计师疯狂输出
9090
打开人工智能的“潘多拉魔盒”
1.1K0
FaceApp:基于深度网络为人像照片加笑容,实现年龄、性别变换
3.9K0
爆火「视频版ControlNet」开源了!靠提示词精准换画风,全华人团队出品
3590
一句话拍大片,导演末日来了!Gen-2震撼发布,科幻日系二次元统统拿捏
4400
相关推荐
论如何用AI做视频滤镜:SIGGRAPH Asia 2016
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档