iOS版本特性

iOS不同版本升级的新特性: iOS5 0(2011 10) 一、iCloud iCloud存储API使程序可以将用户文档和关键数据存储到iCloud中,并同

iOS不同版本升级的新特性:

iOS5.0(2011.10)

一、iCloud iCloud存储API使程序可以将用户文档和关键数据存储到iCloud中,并同时将改动推送到用户所有的计算机和设备上这一切都是自动的

二、通知中心

三、新闻综述 使用News stand kit

四、自动引用计数(ARC)

五、深度集成twitter

六、Storyboard

七、AirPlay 隔空投送

八、Core Image

九、GameCenter

十、OpenGL ES 加了GLKit

十一 、iMessage

十二、新的工具

十三、无需pc

十四、模拟位置信息

十五、可以通过siri使用语音提问的方式进行人机交互

iOS6.0(2012.6)

一、地图 抛弃了googlemap 使用了自家地图

二、深度社交网络集成 ios5时深度集成了twitter, ios6集成了facebook, sina weibo

三、passbook 和passkit  提供通行证SDK,可以此为基础开发电子通行证甚至实体物理票务。

四、gamecenter 主要联机对战,可调用GKChallenge函数发起游戏挑战;authenticateHandler保存服务端验证信息;支持超时设置;GKAchievement可同时提交多个成就信息。

五、提醒开放了向reminder里添加东西和从读取的api (event kit) 和标准用户界面

六、新的iap 能直接从itunes store 购买音乐

七、collection views 瀑布流布局,新增UICollectionViewController,支持更便捷的自定义Layout。

八、自动布局 以“springs and struts”Model 为基础的自动布局,用于:a. 本地化 b. 支持right-to-left 语言 c. 更好的管理view与controller

九. In-App Purchase(内置商店)支持可下载商品,苹果将提供相应服务端存储。  < SKDownload class - StoreKit.framework >

iOS7.0(2013.6)

一、UIKIT 全新偏化风络

二、UIKIT 力学模型,增加UIDynamicItem委托

三、游戏支持加了自己的精灵系统 SpriteKit 2d游戏引擎 xcode 还提供创建粒子 系统和贴图工具

四、支持专门游戏硬件

五、点对点连接:用来发现和连接附近的设备并传输数,而这一切不需要有网络 连接(direct wifi (P2P Wifi)技术, 所以iOS7 的airdrop 需要 iPhone5 或最新iPad/iPad mini才支持,因为还依赖硬件)

六、Store Kit:IAP方面采用了新的订单系统,减少内购实现流程和内购破解。实现对订单的本机验证

七、Inter-APPAudio 应用间的音频,同一设置不同应用之间发送midi指令和传送音频能力,比如在一个应用中使用AudioUnit录音,然后在另一个应用中打以处理.

八、地图MapKit MKMapCamera:可以将一个MKMapCamera对象加到地图上,在指明位置,角度和方向后将呈现3d效果 MKDirections MKGeodesicPolyline MKMapSnapshotter 改变了overlay对象的渲染方式

九、TextKit, 它是一个偏上层的开发框架,在iOS7以上可用,使用它开发者可以方便灵活处理复杂的文本布局,满足开发中对文本布局的各种复杂需求。

十、多任务 iOS7之前

后台完成某些费时间的特定任务

后台播放音乐

位置服务

ip电话

newsstand

iOS7改变了后台任务的运行方式除网络外的后台任务,被分布到不同的应用唤醒系统时执行.

网络传输的应用建议使用NSURLSessioin 创建后台的session并进行网格传输.

增加了后台获取 Background Fetch应用打开前有机会执行代码来获取数取,刷新ui,省去了网络加载过程

增加了推送唤醒( 静默推送,Slient Remove Notifications)

增加了后台传输(Background Transfer service)

iOS8.0 (2014.6)

一、iOS开发界面的统一 Size Classes 的引入和新的 Presentation 系统了

二、IB的重大改进,可提高开发效率,节省开发时间

三、 Cloud Kit 的框架的推出

四、Health Kit 和 Home Kit的引入 可穿戴式设备和智能家电

五、Scene Kit 的引入 SceneKit是一个Objective C框架用来创建简单游戏以及丰富用户交互的高性能的3D游戏。

六、本地通知也需要用户许可

七、CoreLocation 室内定位

八、Touch ID API简化了Paypal 或者支付宝这样的第三方支付和确认的流程的

九、新增加了 Photos.framework 框架

十.应用扩展 (Extension) 实现不同app之间的数据交互

十一.Apple Pay发布

十二.开放对第三方输入法的支持

iOS9(2015.6)

一、https 默认支持https,http 需要在plist文件中单独配置,才能在程序中使用http。在Info.plist 中添加 NSAppTransportSecurity类型 Dictionary。

二、Bitcode bitcode的理解应该是把程序编译成的一种过渡代码,然后苹果再把这个过渡代码编译成可执行的程序。bitcode也允许苹果在后期重新优化我们程序的二进制文件,有类似于App瘦身的思想。

三、企业级分发 在iOS8只是弹出一个窗问你是否需要让手机信任这个应用,但是在iOS9却直接禁止,如果真的想信任需要自己去手动开启。

URL scheme URL scheme一般使用的场景是应用程序有分享或跳其他平台授权的功能,分享或授权后再跳回来.在iOS8并没有做过多限制,但是iOS9需要将你要在外部调用的URL scheme列为白名单,才可以完成跳转.

五、stackView

六、视频播放的画中画模式(Picture in Picture)(AVPlayerViewController默认支持。MPMoviePlayerViewController被deprecated掉了,不支持) 

七、UI Test:iOS9.0之前加入异步代码测设和性能测试,可以说Xcode自带的测试框架已经能满足绝大部分单元测试的需求了,但是这并不够,因为开发一个iOS app从来都是很注重UI和用户体验的,之前UI测试使用KIF,Automating,iOS9.0的Xcode给出了自带的XCUITest的一系列工具,和大多数UI测试工具类似,XCUI使用Accessbility标记来确定view,但因为是Apple自家的东西,可以自动记录操作流程,所以只要书写最后的验证部分就好了,比其他UI测试工具方便多了

八、Swift2

九、APP Thinning:app为了后向兼容,都同时包含了32bit和64bit,在图片资源2X和3X的一应俱全,下载的时候只需要当前机型对应的一套资源,但是却要全部打包下载,现在只需要升级iOS9,就可以省很多流量

十·、3D touch

十一·、地图显示实时的交通状况

十二、人工智能siri更加智能,几个大城市的地铁及火车站入口都有详细的标识

十三·、手机电池的低功耗设置

十四、 Spootlight,你的设备会向推荐最近通话过的联系人,使用过的APP以及你可能感兴趣的去处、信息呈现更精彩

iOS10(2016.6)

· SiriKit 在 iOS 10 里面开发者可以使用 Siri SDK,这可能是 iOS 10 最重要的新 SDK之一。从此开发者可以使用原生API提供语音搜索、语音转文字消息甚至更多常见语音功能。

· Proactive Suggestions 貌似是一个和 CoreSpotlight 有整合的使用建议的东西。

· Message App Extension 在 iOS 10 里面开发者可以给 Message.app 提供两种 App Extension,分别是可以提供一个表情包,和一个自定义的界面,用于表情搜索等。

· User Notifications 这个 API 让你可以处理本地或远程的用户通知,并且可以基于某个条件,例如时间或者地理位置。这个异常强大,好像可以在通知里包含图片和视频了,貌似可以拦截并替换自己 app 发下来的 payload。

· Speech Recognition 见闻知意,语音识别 API,可以把音频流实时的转换为文本。虽说早期版本已经有了TTS语音转文字,但毕竟Siri语义识别的加入让机器对自然语义的把握更精准,详见Speech.framework

· App Search Enhancements 对 CoreSpotlight 的增强,其中我比较感兴趣的是 Visualization of validation results。

· Widget Enhancements 为了配合 iOS 10 锁屏下面 Widget 的体验,苹果提供了 widgetPrimaryVibrancyEffect 和 widgetSecondaryVibrancyEffect 用于定制化 Widget 的界面。

· CallKit callkit框架 VoIP应用程序集成与iPhone的通话界面,给用户一个很棒的体验,锁屏后VoIP网络电话可以直接用iPhone系统UI接听了。

· App Extensions 其实上面也有提到,iOS 10最重要的开发特点就是允许第三方应用对自带基础app的拓展关联, 全新 7 种 App Extension: 

Call Directory(VoIP回调)

Intents(接Siri、Apple map等服务)

Intents UI(接Siri、Apple map等服务的自定义界面)

Messages(iMessage拓展)

Notification Content(内容通知)

Notification Service (服务通知)

StickerPack(iMessage表情包)

· Custom Keyboard 对第三方键盘的改进 通过 handleInputModeListFromView:withEvent: 可以弹出系统键盘列表。同时使用 documentInputMode 可以检测输入上下文中的语言,你可以对输入方式进行一些类似于对齐方式的调整。

另外需要注意的是,和以往历代iOS版本推出一样,新陈代谢,有新SDK、新API的开放,也会有旧的API被遗弃,所以好好检查你的项目,使用了被遗弃的API要尽快修改,以免不兼容!还有个要注意的问题 iOS10 对隐私权限的管理更为严格 ,比如访问的摄像头、麦克风等硬件,都需要提前请求应用权限、允许后才可以使用,或者现在要提前声明,虽然以往要求不严格。

iOS11 (2017.9)

一、黑暗模式(Dark Mode)

二、更强大的Siri

三、P2P支付(类似微信红包)

四、FaceTime多人聊天

五、ARKit(增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。)

六、Core ML Core ML 让我们更容易在 App 中使用训练过的模型。支持神经网络、树组合、支持向量机、广义线性模型、特征工程和流水线模型

七、拖拽 很标准的一套 iOS API,不出意外地,iOS 系统帮助我们处理了绝大部分工作,开发者几乎只需要处理结果。UITextView 和 UITextField 原生支持拖拽,UICollectionView 和 UITableView 的拖拽有一系列专用的 delegate 来表明拖拽的发生和结束。而你也可以对任意 UIView 子类定义拖拽行为。和 mac 上的拖拽不同,iOS 的拖拽充分尊重了多点触控的屏幕,所以可能你需要对一次多个的拖拽行为做些特别处理。

八、文件管理  File Provider和FileProciderUI 提供一套类似 Files app 的界面,让你可以获取用户设备上或者云端的文件。相信会成为以后文档相关类 app 的标配。

九、PDFKit 这是一个在 macOS 上已经长期存在的框架,但却在 iOS 上姗姗来迟。你可以使用这个框架显示和操作 pdf 文件。

十、DeviceCheck DeviceCheck 允许你通过你的服务器与 Apple 服务器通讯,并为单个设备设置两个 bit 的数据

十一、Core NFC 近场通讯 首先也要在info.plist配置NFCReaderUsageDescription

十二、无线配备 由于ARKit的引入,如果不实现无线调试的话,调试会变得很麻烦,所以也增加真机无线调试

iOS12 (2018.6)

一、性能 据苹果介绍,iOS 12 将使得 iPhone 或 iPad 的操作更加快速和灵敏,比如应用启动速度最高提升 40%;键盘显示速度最高提升 50%,键盘调出的速度比以往更快,输入也更加灵敏;从锁屏界面中启动相机的速度最高提升 70%;高负载下 app 启动速度最高提升 2 倍

二、动话表情(Animoji)& 拟我表情(Memoji)现在 iPhone X 及以上机型支持创建「拟我表情」,你可以通过选择皮肤、发型、头型、眼睛、眉毛等特征来创建自己的卡通形象,然后用在信息 app 或者 FaceTime 通话中。

三、FaceTime通话 首先是「Group FaceTime 通话」群聊功能,这一功能最多支持 32 人同时进行通话,而且会自动放大正在说话中群聊成员的头像,当然你也可以通过点击某个成员的头像来放大。其次,现在 FaceTime 通话还支持动话表情和拟我表情,并且你可以在聊天过程中加入滤镜、文字效果、iMessage 信息贴纸包等。

三、相机 现在在信息应用中,你可以通过用信息 app 内置的相机功能拍照,然后利用内置的特效和第三方贴纸包,以全新方式增强照片的效果。

屏幕使用时间 作为苹果应对「数字成瘾」的方案,iOS 12 新增了「屏幕使用时间」功能。具体来说,这项功能通过统计你花在各个 app、网页浏览上的时间,以及接收通知和拿起手机的频率,让你能够系统地了解自己使用手机的习惯,进而帮助你合理安排花在设备上的时间。

通知升级 iOS 12 还对通知中心进行了改动。现在来自同一应用的通知会被「折叠」显示,你可以通过点击来展开被折叠的通知,或者通过右划进入该应用,而左划则会出现三个选项:「隐式推送※」「关闭该应用的所有通知」「进入该应用的通知设置页面」。

勿扰模式 优化勿扰模式,现在可以设置在 1 小时后、一天结束时、离开特定位置时或日历上的会议结束时,自动关闭勿扰模式;

ARKit2 苹果为ARKit带来了一套全新的文件格式——USDZ,Adobe、Autodesk、Sketchfab、PTC、Quicxel等厂商后续均会陆续支持。在搭载 iOS 12 系统和 A9 芯片(或更高版本)的苹果设备上,新增了一个 AR 工具「测距仪」。该应用通过调用 iPhone 或 iPad 的摄像头,拉几根直线,就能从水平和垂直方向测量物体及表面,并可自动检测矩形物体的尺寸。

照片 在 iOS 12 中,照片应用新增了「为你推荐标签页」,其中分为「回忆」「精选照片」「共享建议」三个子标签。值得一提的是,iOS 12 的照片应用结合了最新的机器学习技术,能够通过识别照片中面孔来建议你将照片共享给其中的人物,而如果收到其他人共享的照片,设备会在你自己的照片图库中搜索同一个活动的照片,并建议你共享给发送者。

Siri Siri 现在可以做更多事情了,比如帮你自动整理相册里的照片,将几千张照片分门别类的整理好——是广州拍还是杭州拍的,拍的是喵星人还是汪星人,只需在相册里搜索一下关键词,马上就能得到答案。

Face ID 苹果强化了 Safari 的安全性,那些会偷偷收集用户行为的网页将无所遁形。iPhone X 上市大半年来,独特的 Face ID 一直被用户疯狂吐槽「识别率不够高」、「安全没有保障」……

 

为了解决这个问题,iOS 12 终于支持录入 2 个 Face ID——不过需要注意的是,这并不意味着你可以在一部 iPhone X 刷两个人的脸,录入两张完全不同的脸是没有用的,Face ID 只会识别第一次录入的人脸。

十一其他内置应用 iOS 12还对内置的应用进行了优化和改进,具体表现如下:钱包 app 如今可以绑定学生卡,不过目前仅支持 6 所大学.CarPlay 可以接入第三方 app,终于可以用高德地图导航了.短信验证码现在支持自动填充了.如果你用 iMessage 自拍,能够解锁漫画、水彩、水墨等各种特效滤镜

十二Auto Layout

iOS12对AutoLayout做出了革命性的性能优化。此前,AutoLayout一直是业务开发中一大性能瓶颈,以至于部分app不得不忍痛舍弃对AutoLayout的使用来缓解掉帧等性能问题。而这些问题在iOS12之后很可能成为历史,具体的可以参考下面的链接:高性能Auto Layout

十三 优化 App Assets

在一个iOS app中,资源文件也是及其重要的一部分。如何在应用中通过使用assets达到最好的视觉效果和最高效的使用视图资源,也是每个开发者应该关注的部分。

关于如何使用asset catalog来最优化的组织、优化、制作视图资源,如何更好的简化设计和开发人员之间工作流程。通过使用视图asset,可以提高应用的交付质量,占用更小的空间,受益到更多的用户。具体文章参考下面的链接:优化的App Assets

十四Building Faster in Xcode

除了iOS12运行上的性能提升,苹果还在最新发布的Xcode10上对构建速度与开发效率进行了优化。Xcode 10提高了构建速度和开发效率相关的新特性,从工具、环境、代码以及语言语法等多个方面介绍了加快构建速度的细节。通过了解Xcode在构建速度上的优化原理,开发者可以更好更高效地进行日常开发工作。具体可以参考下面的链接:更加快速的构建Xcode

十五Swift 4.2

WWDC2018发布了Swift 4.2版本。主打两方面的更新:一是关注提升开发人员生产力,开发者可以看到项目构建速度的提升和利于开发的语言改进;二是在二进制兼容性方面进行了大量的努力。可以参考下面的文章来了解Swift的新特性

 

iOS13 (2019.9)

一、深色模式 全新“深色”模式选项为所有 iOS 的使用体验提供了精致的深色方案,非常适合弱光环境使用。“深色”模式可从“控制中心”快速打开,或设为在夜间自动打开。“深色”模式打开后,设备光线不会干扰您周围的人。UIColor拥有了动态属性,iOS13之前只能表示一种颜色,iOS13以后能够表示两种模式下的不同颜色。图片也能在两种模式下自由切换,

二、Status Bar更新  iOS13对Status BarAPI做了修改,之前Status Bar有两种状态,1.UIStatusBarStyleDefault 文字黑色 2.UIStatusBarStyleLightContent 文字白色.iOS13以后有三种状态,1.UIStatusBarStyleDefault自动选择黑色或白色2.UIStatusBarStyleDarkContent文字黑色3.UIStatusBarStyleLightContent文字白色

三、UIActivityIndicatorView iOS13对UIActivityIndicatorView的样式也做了修改,之前有三种样式:1.UIActivityIndicatorViewStyleGray 灰色2.UIActivityIndicatorViewStyleWhite 白色3.UIActivityIndicatorViewStyleWhiteLarge 白色(大型)。iOS13废弃了以上三种样式,而用以下两种样式代替:1.UIActivityIndicatorViewStyleLarge (大型)2.UIActivityIndicatorViewStyleMedium (中型)

四、拖动型键盘:安卓用户们已经用这样的键盘很长时间了,那么直到现在,苹果推出了比安卓更加新颖的键盘,让人们在拖动横扫键盘时,碰到错误按键时也有推荐的正确拼写。苹果把这个称为“QuickPath”,理论上来说,这比原本的独立键盘要快的多,但是我们依然要观望它的新功能。

五.新建工程

iOS13工程结构发生了变化,有两个代理

SceneDegelate.h

window不再由APPDelegate管理,这是为ipad os做的准备,普通项目直接在APPDelegate.h中添加一个window就可以了

六.其他新特性

1)iOS 13 中 tableView 和 collectionView 增加双指滑动编辑的功能

2)新增了文本的手势,在原生控件中默认是生效的,可以禁止,选中文字后,可以操作复制和剪切 ,可以在光标的位置操作粘贴,还可以撤销,反撤销,呼出菜单
重写editingInteractionConfiguration方法可以选择禁止这些手势
复制:三指捏合
剪切:两次三指捏合
粘贴:三指松开
撤销:三指向左划动(或三指双击)
重做:三指向右划动
快捷菜单:三指单击

3)iOS 13新增了UIMenu控件

iOS14 (2019.9)

 

一、Widgets(小组件)  重新设计的小组件可让您一览更多信息,现在还可添加到主屏幕。您可以按喜好选取不同大小和排列方式。还可以添加智能叠放,它会基于您的位置、活动或时间等因素显示不同小组件。

二、Library(App资源库) 主屏幕上的新 App 资源库可将您的所有 App 自动整理到一个简单且易于导航的视图中。App 按类别分类,您最常用的 App 始终只需轻点一下即可使用。

三、紧凑的通话界面 包括 FaceTime 通话和支持的第三方 App 在内的来电会显示在全新设计的紧凑界面中,而不占用整个屏幕

四、App Clip(小程序) 轻 App 是聚焦特定任务的轻巧版 App,如用于租借单车、付停车费或点餐。您可以在 Safari 浏览器、“地图”和“信息”中发现轻 App,也可以在现实生活中通过轻 APP 码 (iOS 14.3)、二维码和 NFC 标签发现轻 App。

五、Picture in Picture(画中画) 现在您可以一边观看视频或继续 FaceTime 通话,一边使用另一个 App。

https://support.apple.com/zh-cn/guide/iphone/iphfed2c4091/14.0/ios/14.0