iOS9已经发布一段时间了,大家对iOS9的新特性了解多少呢?是否还停留在多任务(分屏,画中画)、Swift2、HTTPS强制升级这几个大家转来转去的东东呢?今天我们来深入了解iOS9给我们带来的更广阔的技术革新吧!
目录:
首先我们了解下iOS9大体上的更新点:
即前面提到的分屏与画中画,苹果在iOS9中为iPad新增了Slide Over, Split View 和 Picture in Picture 三种模式来增强多任务处理,最棒的莫过于画中画(简称PiP)了,它可以让视频悬浮在其他控制器之上,一边做其他事情一边看电影!
iOS9提供了一系列全新的获取App中内容的方式,用户可通过HandOff,Siri以及内置搜索直接获取到我们App中的内容,即使用户还没有安装我们的App!
iOS9推出App Thinning。(神马是App Thinning?App Thinning指的是用户从苹果商店下载安装我们的App时,根据这个用户的具体设备类型及操作系统对我们的App进行裁剪,达到占用最少的磁盘空间,发挥最大的兼容性等目的。经过优化后,用户不会下载我们应用的完整Bundle,而是下载最简配置+特定需求项,从而让下载过程缩短,腾出更多的内存空间,这跟苹果呼吁我们开发通用App离不开干系的。这种优化称为为App Thinning。P.S.以上为作者自己的总结)
Slicing:Artwork被纳入Asset Catalog
,并且被打上与平台对应的标记,这样AppStore便知道分发哪些用户真正需要的资源给用户下载安装。
BitCode:Bitcode是LLVM编译器中间代码的编码,我们将中间代码提交给AppStore,然后由AppStore来进行编译-Comple和连接-Link,最终提供32位或64位的可执行文件供用户下载。目前iOS应用的中间代码提交是可选的,但是苹果已经要求watchOS应用提交必须包含Bitcode(@Required)
- ar‘ – ‘???????‘, Arabic - ‘arc‘ – ‘?????‘, Aramaic - ‘bcc‘ – ‘????? ??????‘, Southern Balochi - ‘bqi‘ – ‘???????‘, Bakthiari - ‘ckb‘ – ‘Soran? / ?????‘, Sorani Kurdish - ‘dv‘ – ‘??????????‘, Dhivehi - ‘fa‘ – ‘?????‘, Persian - ‘glk‘ – ‘?????‘, Gilaki - ‘he‘ – ‘?????‘, Hebrew - ‘mzn‘ – ‘????????‘, Mazanderani - ‘pnb‘ – ‘??????‘, Western Punjabi - ‘ps‘ – ‘????‘, Pashto
—— [ 维基百科 ]
这部分内容更新应该纳入国际化资源相关的知识体系,因为目前国内的App暂时还用不到。
1. 现在所有的UIKit中的控件都支持对这种语言的显示与输入。
2. UIView定义了语法内容属性(semantic content
attributes)来指定视图如何显示在一个自由向左的上下文中。
3. UIImage新增了方法imageFlippedForRightToLeftLayoutDirection,可以很方便的将图片做左右映射变换。
P.S. 一旦一个国家的阅读习惯是从右到做的,那么很多东西的顺序都应该随之改变,比如tabbar的显示,Slider的滑动方向等,从这一点可以看出苹果非常的人性化。
App Transit Security,简称ATS,也就是我们所说的HTTP升级至HTTPS传输。iOS 9 与OS X 10.11以后版本已经默认使用ATS,而苹果也要求我们尽快采用ATS。ATS的好处是加强数据安全(客户端与服务器见的数据传输),防止信息泄露。关于HTTPS参阅TSL/SSL规范。
如果我们的服务器端还来不及做相关升级,那么作为前端我们可以暂时回滚至不安全的网络请求方式(依然使用HTTP),当然苹果不提倡长期这样做。具体方法:在info.plist中添加
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
iOS9提供几种新的App Extension(神马是App Extension?可以理解为小插件,是一种运行在我们App之外的一段程序。):
网络扩展:
使用 Packet Tunnel Provider extension point 来实现自定义VPN隧道协议客户端。
使用App Proxy Provider extension point来实现一个透明网络代理协议的客户端。
Contacts.framework 和 ContactsUI.framework 这2个新的面向对象的库取代了之前的Address Book 与 Address Book UI frameworks。
WatchConnectivity.framework 提供iPhone和与之配对的iWatch之间进行双向的文件、数据传输。这套框架能够让配对的两个设备上同时运行的App进行即时通信,也可以进行后台通信。
Address Book 和 Address Book UI frameworks。取而代之的是 Contacts 和 Contacts UI frameworks 。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/mobanchengshuang/article/details/46919153