教你轻松看懂 iOS9 新功能

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起来~

教你轻松看懂 iOS9 新功能的更多相关文章
- iOS9 新功能:Support Universal Links
先看官方文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalL ...
- iOS9 新功能:Support Universal Links,iOS10 openUrl新函数
先看官方文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalL ...
- 轻松看懂Java字节码
java字节码 计算机只认识0和1.这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行.所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行. 而Java刚诞生 ...
- GJM : 数据结构 - 轻松看懂机器学习十大常用算法 [转载]
转载请联系原文作者 需要获得授权,非法转载 原文作者将享受侵权诉讼 文/不会停的蜗牛(简书作者)原文链接:http://www.jianshu.com/p/55a67c12d3e9 通过本篇文章可以 ...
- 轻松看懂机器学习十大常用算法 (Machine Learning Top 10 Commonly Used Algorithms)
原文出处: 不会停的蜗牛 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了 ...
- 轻松入门CAS系列(1)-轻松看懂企业单点登录的解决方案
常见的企业应用情况 企业内部的信息化一般都是一个过程中的 ,起初企业为了部分管理的需要,会上线几个信息化系统:后来对这块慢慢重视,信息系统会越来越多.开始,只有一两个系统时,员工还好,靠脑袋还能记得住 ...
- 学会这 2 点,轻松看懂 MySQL 慢查询日志
MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...
- 玄学曲线并不玄 教你如何看懂GPU呈现
红色代表了“执行时间”,它指的是Android渲染引擎执行盒子中这些绘制命令的时间,假如当前界面的视图越多,那么红色便会“跳”得越高.实际使用中,比如我们平时刷淘宝App时遇到出现多张缩略图需要加载时 ...
- php语法学习:轻松看懂PHP语言
基础语法 开头结尾 PHP脚本以 "<?php " 开头以 "?>" 结尾 <!DOCTYPE html> <html>&l ...
随机推荐
- Selenium2+python自动化27-查看selenium API
前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium api,不求人,无需伸手找人要,在自己电脑就有. p ...
- MVC 学习(二)之Linq to Sql 简单Demo
Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查.Linq to sql 与Linq to Entities虽然同属于DataBase- ...
- win32api 获取文件版本信息
#coding:utf-8 myPath="C:\\ime" import os from win32api import GetFileVersionInfo, LOWORD, ...
- Java MD5加密工具类
public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', ' ...
- mybatis mapper.xml 配置文件问题(有的错误xml是不报的) 导致服务无法启动 。
转载自 开源编程 一舟mybatsi xml编译报错,tomcat启动一直循环,导致内存溢出,启动失败 mapper.xml怎么知道有没有编译错误,哪个位置有错误 这应该是mybatis的一个bug, ...
- freeCodeCamp:Find the Longest Word in a String
找到提供的句子中最长的单词,并计算它的长度. 函数的返回值应该是一个数字. /* 先把字符串 str 转为数组 myarr 将数组myarr中的每个元素长度转换成一个新的数组newarr 将这个数组按 ...
- struts2获得请求参数的方式
1.用Action的属性接收参数 2.用DomainModel(域模型)接收参数 3.用ModelDriven接收参数 使用这种方式接受参数需要实现ModelDriven接口,
- js注意
使用集成函数注意返回值,有的不会改变现有对象,仅返回对象的副本,而有的会改变现有对象并返回该对象. 变量名不能和函数名相同,否则会被覆盖. 查询时看清楚返回的是单个元素还是集合,如果是使用返回集合的方 ...
- Linux查看当前目录下文件夹和文件的大小
File参数实际上是一个目录,就要报告该目录内的所有文件.如果没有提供 File参数,du命令使用当前目录内的文件. 如果File参数是一个目录,那么报告的块的数量就是分配到目录中文件以及分配到目录自 ...
- 让谷歌浏览器 chrome 支持小于12px的字体
webkit的私有属性:{-webkit-text-size-adjust:none;} 但是,在最新版的谷歌里.已经不在支持这个属性啦. 用css3的transform:scale()缩放大小,但是 ...