标签:
这篇文章介绍了iOS9开发相关的简介,现在发布的设备都会搭载iOS9。这篇文章也列出了详细描述新特性的文章。
iPad多线程增强
iOS9使用Slider Over, Split View, Picture in Picture增强了iPad上的多线程用户体验。Slide Over特性可以让用户启动第二个APP。Split View属性可以让用户在iPad Air2上使用两个app。Picture in Picture(PiP)可以在其他app的windows上显示一个悬浮框来看视频。
用户才能决定什么时候在屏幕上显示两个app。开发者不能控制。虽然Split View和Slide Over是由用户控制的,开发者仍然需要做不少事情来保障多线程体验。
在Split View和Slide Over中, 由用户来控制是否使用PiP来在另一个运行中的app上显示视频。如果播放视频不是你的主要功能话,就不需要为PiP体验做额外工作。
要体验Picture in Picture的话,使用AVKit或者AV Foundation APIs。Media Player framework中定义的播放视频的API在iOS9中已经弃用了,他们也不支持PiP。
搜索
iOS9中的搜索给用户提供了一种访问信息的新的方式, 当你的内容可以被搜索时, 用户可以通过Spotlight, Safari搜索结果,Handoff, 以及Siri 来访问你app中的内容。使用搜索相关的API, 你可以决定哪些内容被索引,哪些内容显示在搜索结果中,以及用户点击后跳转到app或网站的什么地方。
隐私保护是iOS9搜索的一个基本属性。为了在提供一个好的搜索体验的同时保护用户隐私,iOS9做了下面的事
iOS9提供了下面的API来帮助你搜索内容:
游戏
iOS9做了一些技术上的增强让实现游戏的图形和声音属性更便捷。用户可以使用上层库来快速开发,也可以使用底层库来自己控制GPU。
GameplayKit
GameplayKit(Gameplaykit.framword)提供了创建游戏的基础技术。使用Gameplaykit结合上层的图形引擎(比如SceneKit活着SpriteKit)就可以完成一个游戏了。这个框架提供了模块化的结构来创造游戏。
GameplayKit也包含了常用的游戏算法,这样你可以少花点时间在算法上,有更多的时间在游戏机制上。比如GameplayKit中下面的一些算法:
Model I/O
Model I/O(ModelIO.framework)提供了一个系统级别的3D模型资源。可以使用这个框架做很多事情,比如:
MetalKit
MetalKit(MetalKit.framework)提供了很多方法和类来减少创建Metal app的难度。MetalKit支持下面三块的开发:
Metal Performance Shaders
Metal Performance Shaders(MetalPerformanceShaders.framework)提供了图形计算方法,在Metal app中使用起来非常方便。它会高效利用支持Metal的iOS GPU。
它会使配所有支持的硬件,不需要为特殊的iOS GPU单独写代码。MetalPerformanceShader对象可以与Metal app无缝衔接。
这个框架同时也提供了下面的功能:
Metal新功能
Metal(Metal.framework)增加了一些新功能来让app的图形渲染更佳高效。包括以下功能:
SceneKit新功能
SceneKit(SceneKit.framework)在iOS9中的新功能,包括:
SpriteKit新功能
SpriteKit(SpriteKit.framework)在iOS9中的新功能,包括:
App Thinning
App thining自动的帮助你为不同的平台开发以及发布优化过的安装包。App thinning包括下面的内容:
支持从右到左的语言
iOS9支持从右到左的语言,让提供一个翻转的界面更容易。
APP传输安全
APP传输安全(ATS)增加了app和后台安全连接。ATS防止意外泄漏,提供了安全方面的默认行为,也很好实现。在iOS9和OS X v10.11之后默认打开。你应该尽快实现ATS,不管是创建新APP或者更新APP。
如果是开发新app,应该只使用HTTPS。如果是已有app,现在应该尽量使用HTTPS,并且计划尽快迁移其他接口。另外,使用上层API通讯需要使用TLS 1.2加密。如果不实用这种连接,会抛出异常。如果app需要请求不安全的域名,需要在app的Info.plist中申明。
Extension Points
iOS9提供了一些新的插件点(插件点定义了创建插件时,那个区域的使用策略以及提供的API)。如下:
通讯录以及通讯录UI
iOS9提供了Contacts.framework和ContactsUI.framework。他们提供了基于对象的实现。可以替换Address BookheAddress Book UI framework。
手表通讯
手表通讯框架(WatchConnectivity.framework)提供了iPhone和配对的手表之间的双向通讯。使用这个框架来对应iOS app的界面和手表中的界面。这个框架在两个app都运行时支持实时消息,其他情况支持后台消息。
钥匙串
钥匙串提供了更过保护项以及一个新的加密类型。
Swift加强
其他框架更新
AV Foundation Framework
AV Foundation(AVFoundation.framework)增加了AVSpeechSynthesisVoice API可以让你指定声音作为标识。可以使用name和quality属性来获取声音信息。
AVKit Framework
AVKit(AVKit.framework)包括AVPictureInPictureController和AVPlayerViewController类,可以帮助你实现画中画。
CloundKit Framework
如果有CloudKit app,可以使用CloudKit web service或者CloudKit JS,一个JavaScript库,提供了访问app中数据的网页接口。前提是你的数据库定义了网页接口的schema。
Foundation Framework
Foundation(Foundation.framework)包含下面的加强:
HealthKit Framework
HealthKit(HealthKit.framework)包含下面的增强:
Local Authentication Framework
MapKit Framework
PassKit Framework
Safari Service Framework
SFSafariViewController可以在app中显示网页内容。它和Safari中的网站共享数据,拥有Safari的很多属性,比如自动填充。和Safari不同的是,SFSafariViewController界面定制的职能显示一个界面,有一个完成按钮可以把用户带回到app。
如果app只是显示网页内容,但是不需要定制内容,可以考虑把WKWebView或UIWebView换成SFSafariViewController。
UIKitFramework
弃用的API
下面的API已弃用。
标签:
原文地址:http://www.cnblogs.com/fengquanwang/p/4816172.html