频道栏目
首页 > 资讯 > IOS > 正文

iOS9开发GOGOGO:新特性

15-07-17        来源:[db:作者]  
收藏   我要投稿

iOS9已经发布一段时间了,大家对iOS9的新特性了解多少呢?是否还停留在多任务(分屏,画中画)、Swift2、HTTPS强制升级这几个大家转来转去的东东呢?今天我们来深入了解iOS9给我们带来的更广阔的技术革新吧!
目录:

iOS9新特性概览 iPad应用的多任务处理加强 搜索 游戏开发 App Thinning 支持从右至左的语言RTL-Right To Left Language App传输加密 App 扩展 Contacts Contacts UI Watch Connectivity Swift 加强 一些系统框架的改动 AV Foundation Framework AVKit Framework CloudKit Framework Foundation Framework HealthKit Framework Local Authentication Framework 本地授权 MapKit Framework PassKit Framework Safari Services Framework UIKit Framework 被弃用的APIs

iOS9新特性概览

首先我们了解下iOS9大体上的更新点:

iPad应用的多任务处理加强


即前面提到的分屏与画中画,苹果在iOS9中为iPad新增了Slide Over, Split View 和 Picture in Picture 三种模式来增强多任务处理,最棒的莫过于画中画(简称PiP)了,它可以让视频悬浮在其他控制器之上,一边做其他事情一边看电影!

搜索


iOS9提供了一系列全新的获取App中内容的方式,用户可通过HandOff,Siri以及内置搜索直接获取到我们App中的内容,即使用户还没有安装我们的App!

游戏开发


iOS9进一步提升了游戏内的图形、音频性能(iOS自家游戏引擎,与其他跨平台游戏开发引擎无关)。 主要增强了游戏开发框架的易用性,对GPU性能驾驭能力的提升。

App Thinning


iOS9推出App Thinning。(神马是App Thinning?App Thinning指的是用户从苹果商店下载安装我们的App时,根据这个用户的具体设备类型及操作系统对我们的App进行裁剪,达到占用最少的磁盘空间,发挥最大的兼容性等目的。经过优化后,用户不会下载我们应用的完整Bundle,而是下载最简配置+特定需求项,从而让下载过程缩短,腾出更多的内存空间,这跟苹果呼吁我们开发通用App离不开干系的。这种优化称为为App Thinning。P.S.以上为作者自己的总结)
App Thinning目前包括:Slicing - 切片(iOS),Bitcode (iOS, watchOS)以及
On-Demand Resources (iOS)

Slicing:Artwork被纳入Asset Catalog
,并且被打上与平台对应的标记,这样AppStore便知道分发哪些用户真正需要的资源给用户下载安装。

BitCode:Bitcode是LLVM编译器中间代码的编码,我们将中间代码提交给AppStore,然后由AppStore来进行编译-Comple和连接-Link,最终提供32位或64位的可执行文件供用户下载。目前iOS应用的中间代码提交是可选的,但是苹果已经要求watchOS应用提交必须包含Bitcode(@Required)

On-Demand
Resources:懒加载资源,即部分资源放在云端或者AppStore,需要的时候才会请求下来,又是为了缩减App包体积。关于懒加载资源的好处,后面再列。

支持从右至左的语言(RTL-Right To Left Language)


这个更新是我最费解的,我本以为RTL是个什么特殊的文法(编译原理中不是有什么上下文无关文法么?),结果是我想多了,这应该是苹果的一项人性化更新吧,支持了对从右至左的语言的显示。 神马是从右至左的语言?言语的左至右从是就话句这的写在现我如比。以前中文也是从右边往左边写的,现在改过来了,但是世界上还有很多语言仍然是从右边往左边书写和阅读的,比如:
  - 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传输加密


App Transit Security,简称ATS,也就是我们所说的HTTP升级至HTTPS传输。iOS 9 与OS X 10.11以后版本已经默认使用ATS,而苹果也要求我们尽快采用ATS。ATS的好处是加强数据安全(客户端与服务器见的数据传输),防止信息泄露。关于HTTPS参阅TSL/SSL规范。

如果我们的服务器端还来不及做相关升级,那么作为前端我们可以暂时回滚至不安全的网络请求方式(依然使用HTTP),当然苹果不提倡长期这样做。具体方法:在info.plist中添加
    NSAppTransportSecurity
    
        NSAllowsArbitraryLoads
        
    

App 扩展


iOS9提供几种新的App Extension(神马是App Extension?可以理解为小插件,是一种运行在我们App之外的一段程序。):

网络扩展:

使用 Packet Tunnel Provider extension point 来实现自定义VPN隧道协议客户端。

使用App Proxy Provider extension point来实现一个透明网络代理协议的客户端。

使用Filter Data ProviderFilter Control Provider extension points 来实现动态的设备端网络内容过滤。 Safari扩展:
使用Shared Links extension point 来让用户通过Safari的分享链接看到你的内容。 使用 Content Blocking extension point 提供一个屏蔽列表,让你的用户使用你的App浏览Web内容时屏蔽指定的内容。 Spotlight扩展:
使用 indexing extension point 对App内的数据进行索引。 使用 Index Maintenance extension point 实现在不重启App的情况下对App内的数据重新建立索引。 Audio Unit extension point 允许App提供类似于GarageBand,Logic等App提供的乐器演奏,音频特效,声音合成功能。

Contacts & Contacts UI


Contacts.framework 和 ContactsUI.framework 这2个新的面向对象的库取代了之前的Address Book 与 Address Book UI frameworks。

Watch Connectivity


WatchConnectivity.framework 提供iPhone和与之配对的iWatch之间进行双向的文件、数据传输。这套框架能够让配对的两个设备上同时运行的App进行即时通信,也可以进行后台通信。

Swift 加强


一些系统框架的改动


AV Foundation Framework

AVKit Framework

CloudKit Framework

Foundation Framework

HealthKit Framework

Local Authentication Framework (本地授权)

MapKit Framework

PassKit Framework

Safari Services Framework

UIKit Framework

被弃用的APIs


Address Book 和 Address Book UI frameworks。取而代之的是 Contacts 和 Contacts UI frameworks 。

 

相关TAG标签
上一篇:Android仿IOS的AssistiveTouch的控件EasyTouch实现
下一篇:android定时操作
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站