更新时间:2016年06月17日11时26分 来源:传智播客 浏览次数:
虽然6月13日WWDC2016的发布会结束了,但是本届大会的开发者session环节还在持续进行着。黑马程序员本着对技术的狂热,对学生负责的态度,仍然坚持每天对课程进行深入的研发。本文主要是黑马程序员对iOS 10 中SDK所更新的主要内容进行总结。根据黑马程序员惯例,在文章的最后,有相关相关教学视频及Demo会有分享链接,供各位下载!
1. Grand Center Dispatch
GCD 在本次一更新主要有以下内容:
• 创建私有队列
• 安排异步执行的工作项目(items)
• GCD能自动将工作项目使用自动释放池给包裹起来
2. Foundation
Swift的改进,表现在去掉前缀,API方法改变
单位和测量 (Units and measurements),新增以下两个相关的类:
NSISO8601DateFormatter:有关ISO8601时间戳与Date之间转换。
NSDateInterval:用来表示一个封闭的日期间隔。
3. UIPasteboard
UIPasteboard是一个通用的剪贴板(Universal Clipboard),可以在不同的苹果设备之间进行数据的复制粘贴。
UIPasteboard类,可以实现在多设备之间进行剪切复制:
UIPasteboardOption(结构体),可以控制粘贴的选项:
4. Wide Color
在 iOS 10 中苹果公司提供更加宽广的颜色,将iOS 9.3的 sRGB 提升到现在的sRGB Extention,从而使颜色的精度更高,优化界面样式。
UIColor 类的支持:
a) 新增构造方法
b) 图像渲染(Image Renderer)
在这之前使用UIGraphicsBeginImageContext和UIGraphicsEndImageContextde时,其问题在于只支持32位颜色和sRGB,并且开发过程中容易出错,扩展性不强。
而现在苹果提供一个新的类:UIGraphicsRenderer, 其特点如下:
• 完全的色彩管理
• 基于block
• 拥有 image 与 PDF 的子类
• 管理上下文的生命周期
5. 语音识别 (Speech Recognition)
在 iOS 10 中增加语音识别的API——Speech ,其特点如下:
• 可以实现连续的语音识别
• 可以对语 音文件或者语音流进行识别
• 最佳化自由格式的听写(可理解为多语言支持)和搜索式的字符串
6. 动态类型(Dynamic Type)
主要表现为文本内容的尺寸类型特征。例如,在用户调整系统字体大小时,应用内的字体也可以随之变化。其特点如下:
• 可以不用监听任何通知即可实现功能。
• 支持 Extensions
• 自动支持 UITextView 、UILabel及UIControl
代码实现:
7. 提高可定制程度 (Improved Customization)
可以对 TabBarItem 里面的内容进行定制,比如:
• 自定义 badge 的颜色和文字的属性
• 自定义未选中的Tint Color
8. Peek & Pop 手势
添加对 WKWebView 的支持,体现在以下几点:
• 更好的控制 Peek&Pop 的行为
• 自定义 viewController
• 动作预览
• 弹出你的app
9. 刷新控件(Refresh Control)
系统自带的刷新控件支持所有的 UIScrollView 以及其子类,比如说 UICollectionView。
10. CollectionView
优化快速滚动:
• Cell的预先加载
• 数据源的预先加载
• 同样在 UITableView 中可用
11. UIViewPropertyAnimator
UIViewPropertyAnimator 是 iOS 10 中新增的一个执行 View 动画的类,具有以下特点:
• 可中断性
• 可擦除
• 可反转性
• 丰富的动画时间控制功能
12. UIApplication
新增了 openURL:options:completionHandler: 函数以替代原有的 openURL: 函数,特点如下:
• 可以在异步线程中得到执行完成的回调
• 会检查是否有应用支持此链接,并将结果通过回调中的参数返回
13. Core Data
在本次更新中, Core Data 最有用的更新就是提升了并发访问的性能。
14. CloudKit
本次更新CloudKit具有以下特点:
• 公有的数据库
• 私人的数据库
• 数据记录的分享,新增UICloudSharingController
15. 应用内搜索(App Search)
在 iOS 10 中,可以搜索App里面的内容,那么如何让自己的App里面的内容让 Spotlight 搜索到呢,需要做以下几件事情:
• 添加 CoreSpotlightContinuation 这个key到项目的 info.plist 文件中
• 实现 UIApplicationDelegate 中的一个新方法:
苹果还提供 CoreSpotlight 搜索的 API 进行搜索:
16. 苹果支付(Apple Pay)
• 可用于 SFSafariViewController
• 可用于没有UI的extensions中
• 在 iMessage 应用中也支持 ApplePay
17. 桌面组件(Widgets)
在 iOS 10中,应用的组件也得到了更新,拥有 display model 的概念,其表现于:
• 优化了用户的交互性
• 添加紧凑型与展开型的模式
另外,也可以让widget出现在锁屏的界面上。
18. 用户通知(User Notifications)
一个新的通知框架(UNNotifications)应用于 iOS 10中,结合本地通知与远程通知,更易于管理,提供内容扩展,可以自定义通知内容的视图。
19. CallKit
苹果提供 Api 用于拨打电话,开发者可以将 UI 整合到系统生成的电话 App 中。此处的更新包括两个层面,一个是主动拨号的部分,允许开发者将通讯 App 的功能内建在电话 App 的“常用联络资讯”,以及“通话记录”中,方便用户通过原生电话 App,就能直接使用这些第三方功能。因此用户日后如果想拨打QQ语音通话,将不再需要打开 App,而是直接通过原声电话 App 拨打就好,并且支持 Siri,CarPlay,蓝牙等。
20. SiriKit
在 iOS 10 中,苹果开放了 Siri 的 Api,我们可以用 SiriKit 来做以下几类事情:
• 语音和视频通话
• 发送消息
• 发送或接收付款
• 搜索照片
• 约车
• 管理健身
21. iMessage Apps
苹果在 iOS 10 中提供 Message Extensions 的方式给 iMessage 提供多样的元素,开发者可以为 iMessage 开发扩展表情功能,还可以在 iMessage 的会话窗口中直接进行支付。
iOS10开发教程第一弹:
有关iMessage及最新Xcode改版的相关功能的课程视频下载链接如下:http://pan.baidu.com/s/1c2t3SGS 密码:di7k
iOS10开发教程第二弹:
有关iOS 10 SDK中所更新的主要内容课程,内容包括语音识别、属性动画器等五大内容,视频下载链接如下: http://pan.baidu.com/s/1miaqPRi