2015苹果全球开发者大会在6月9日凌晨,美国旧金山举行,fir.im 整理了一部分的资料,帮助了解 iOS9 的新特性与功能,感兴趣的可以看下。
关于iOS9新增功能
在WWDC 2015上苹果介绍了 iOS 9的主要新功能,比如 Siri 更加智能化,iPad的分屏多任务处理,地图应用增加 Transit 导航,新的 News app 等等。不过也有一些内容是苹果无暇在主题演讲中介绍,或者一提而过足以让你忽略的,以下是隐藏在 iOS 9中的一些改变,包括 iCloud Drive、Go Back to App、6位数密码、通知分组以及Mail附件等,详情点击Cocoa China.
iOS9新特性汇总
那么对于开发者来说,苹果又做了哪些支持呢?
全新开发者计划
苹果表示 iOS Developer Program、Mac Developer Program 以及 Safari Developer Program 统一为 Apple Developer Program 。从6月8日起,开发者针对 iOS、OS X 以及 watchOS平台开发和分发应用只需要单个 Apple Developer Program 会员资格,详情点击这里。
提高开发者测试设备数量
苹果提升了开发者注册设备的限制。新限制为500个设备,进行了分类,每种设备最多100个,开发者最多可以注册100台 iPhone 、iPad、iPod 、Apple Watch 和 Apple TV。
Swift
新的Swift语言将开放源代码,为APP编程带来更多可能。
- Swift的源代码将会基于某个OSI组织批准的开源协议进行开源。
- 苹果将会允许并鼓励社区开发者贡献代码。
- 未来Swift将会重点支持 OS X、iOS和Linux三个平台。
- 源代码将会包括Swift编译器以及标准库。
异常处理模型:新的异常处理模型使用了开发者最为熟悉的try、catch、throw关键字,并且还将完美支持苹果的SDK以及NSError。
可用性:通过使用新的SDK,开发者可以操作平台的新功能,但某些老的操作系统可能并不支持这些新特性,所以开发者就需要额外的检查。在处理类似的兼容问题上,Swift非常的得心应手。如果目标操作系统不支持某个API,那在编译时Swift将会报错。同样,开发者也可以使用#available来确保代码块可以运行于正确的操作系统版本上。
协议可扩展:协议(Protocol)用于统一方法和属性的名称,而不实现任何功能。Swift 2.0增加了协议扩展,在标准包中可以使用它。当使用全局函数时,Swift 2.0已经为方法添加了统一的类型,这样开发者就可以使用函数链,以提高代码的可读性。
UI Testing
在这次的WDDC大会中,苹果提出了一个全新的基于Xcode7的UI测试工具。
它是在新版本的Xcode当中引入的一个基于XCTest框架的UI测试工具,从官方演示的DEMO来看,很强大:强交互的脚本录制->XCTest框架->层级元素定位/Accessibility定位->easy断点调试->完整的Report。有兴趣的同志可以去读一下官方文档了解一下该框架:XCTest使用手册
想要了解这个工具的特性,点这里直达( 来自@anikikun)。
App Thinning
按照苹果官方的解释,应用瘦身功能分为三个部分:
- 首先是分割功能Slicing,它可以对应用/游戏内容进行分割,根据用户设备类型和屏幕分辨率的不同分发定制化下载包,开发者只需要把完整应用包的内容上传到iTunes Connect即可。
- 该功能还包含了中间代码功能(Bitcode),可以让苹果在未来为你的应用进行再次优化,而避免了发布新版本的麻烦,同时可以大大减少调试工作量。
- 第三个功能就是on-demand资源,开发者可以把应用初始化用不到的资源分类打包上传到App Store,在用户使用的时候系统会根据资源标签在必要的时候调用资源,当某些资源不再使用的时候会被系统自动清除,这样不仅减少了应用下载和加载时间,还大大缩小了安装包体。
感兴趣可点击:
手游开发者"利器":苹果应用瘦身功能介绍(App Thinning)
On-Demand Resources Guide中文版(按需加载资源--上)
On-Demand Resources Guide中文版(按需加载资源--下)
除了这些之外,iOS9在WatchOS、游戏方面加大了支持:
WatchOS
- 原生应用
- 使用麦克风
- 播放视频
游戏
- SpriteKit、SceneKit、Metal性能提高
- GamePlayKit:能自动避障和智能寻路
- Model I/O 3D模型更真实
- ReplayKit 提升录制游戏性能
最后,推荐微博@iOS程序犭袁 新鲜出炉得 iOS9适配系列教程,狠狠Follow起来~