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 新功能的更多相关文章

  1. iOS9 新功能:Support Universal Links

    先看官方文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalL ...

  2. iOS9 新功能:Support Universal Links,iOS10 openUrl新函数

    先看官方文档:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalL ...

  3. 轻松看懂Java字节码

    java字节码 计算机只认识0和1.这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行.所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行. 而Java刚诞生 ...

  4. GJM : 数据结构 - 轻松看懂机器学习十大常用算法 [转载]

     转载请联系原文作者 需要获得授权,非法转载 原文作者将享受侵权诉讼 文/不会停的蜗牛(简书作者)原文链接:http://www.jianshu.com/p/55a67c12d3e9 通过本篇文章可以 ...

  5. 轻松看懂机器学习十大常用算法 (Machine Learning Top 10 Commonly Used Algorithms)

    原文出处: 不会停的蜗牛    通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题. 每个算法都看了 ...

  6. 轻松入门CAS系列(1)-轻松看懂企业单点登录的解决方案

    常见的企业应用情况 企业内部的信息化一般都是一个过程中的 ,起初企业为了部分管理的需要,会上线几个信息化系统:后来对这块慢慢重视,信息系统会越来越多.开始,只有一两个系统时,员工还好,靠脑袋还能记得住 ...

  7. 学会这 2 点,轻松看懂 MySQL 慢查询日志

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...

  8. 玄学曲线并不玄 教你如何看懂GPU呈现

    红色代表了“执行时间”,它指的是Android渲染引擎执行盒子中这些绘制命令的时间,假如当前界面的视图越多,那么红色便会“跳”得越高.实际使用中,比如我们平时刷淘宝App时遇到出现多张缩略图需要加载时 ...

  9. php语法学习:轻松看懂PHP语言

    基础语法 开头结尾 PHP脚本以 "<?php " 开头以 "?>" 结尾 <!DOCTYPE html> <html>&l ...

随机推荐

  1. bzoj 2152聪聪可可

    2152: 聪聪可可 Time Limit: 3 Sec  Memory Limit: 259 MB Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰 ...

  2. Xshell连接虚拟机

    一般连接虚拟机失败 原因1:ip地址错误 当输入 ifconfig 只有lo没有eth0,或者有eth0,但eth0中确没有inet addr这一行 输入命令:dhclient eth0 就可以了

  3. 对象转型 casting

    一个基类的引用类型变量可以"指向"其子类对象. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法). 基类强制转型成子类,则能访问子类独有的成员. 可以使用 引用变量in ...

  4. PostScript的简单例子-用粗线画一个圆

    一 近期需要用到PostScript,查询资料学习PS的语法 简单的画一个圆的例子 %!PS-Adobe-3.0 /inch{72 mul} def 4.25 inch 5.5 inch 1.5 in ...

  5. ARM Linux 3.x的设备树(Device Tree)

    http://blog.csdn.net/21cnbao/article/details/8457546 宋宝华 Barry Song <21cnbao@gmail.com> 1.     ...

  6. I hate it

    Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老 ...

  7. LeetCode OJ-- Scramble String ***@

    https://oj.leetcode.com/problems/scramble-string/ 一个字符串的混排变换,简直太妙了,好题 class Solution { public: bool ...

  8. js-DOM-页面元素的兼容性、常用事件、节点

    页面元素的兼容性: 所谓的兼容性指的就是当前浏览器是否支持当前对象的属性或是方法,如果支持就是兼容,如果不支持就是不兼容. 举个例子: /** * 设置页面标签之间的文本内容的兼容性写法 * @par ...

  9. (转) Active Record

    ActiveRecord是什么:1. 每一个数据库表对应创建一个类.类的每一个对象实例对应于数据库中表的一行记录; 通常表的每个字段在类中都有相应的Field;2. ActiveRecord同时负责把 ...

  10. 传递引用类型参数(ref)

    引用类型的变量不直接包含其数据:它包含的是对其数据的引用. 当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值. 但是无法更改引用本身的值:也就是说,不能使用相同的引用为新类分配 ...