首页 > 代码库 > ios 8 适配须知

ios 8 适配须知


iOS 8.0
本文总结了关键developer-related特性介绍了iOS 8,目前航运iOS设备上运行。 本文还列出了文档更详细地描述新功能。

关于已知问题的最新新闻和信息,明白了 iOS 8版本说明 。 新api的完整列表添加在iOS 8中,明白了 iOS 8.0 API差别 。 有关新设备的更多信息,请参阅 iOS设备兼容性参考 。

应用程序扩展
iOS 8允许您扩展系统通过提供一个的选择区域 应用程序扩展 代码,支持自定义功能,用户任务的上下文中。 例如,您可能提供一个应用程序扩展,帮助用户发布内容到你的社交分享网站。 用户安装和启用这个扩展之后,他们可以选择它当他们点击分享按钮在当前的应用程序。您的自定义共享扩展提供了接受的代码,验证,和用户的帖子内容。 系统的扩展列表共享菜单和实例化它,当用户选择它。

在Xcode中,您创建一个应用程序扩展添加一个预配置的应用程序扩展目标应用程序。在用户安装应用程序,其中包含一个扩展,用户可以设置应用程序扩展。当用户运行其他应用程序时,该系统使启用扩展可用适当的系统界面,如分享菜单。

iOS支持应用程序扩展为以下方面,这被称为扩展点:

分享 。 与社交网站或其他实体分享内容。
行动 。 执行一个简单的任务与所选内容。
今天 。 提供一个快速更新或启用一个简短的任务在今天的通知中心。
照片编辑 。 执行编辑照片或视频中的照片应用程序。
存储提供商 。 提供一个文件存储位置,可以由其他应用程序访问。 应用程序使用一个文档选择器视图控制器可以打开的文件管理的存储提供商或移动文件到存储提供商。
自定义键盘 。 提供一个自定义键盘,用户可以选择系统的键盘为所有应用程序在设备上。
每个扩展点定义适当的api为其目的。 当你使用一个应用程序扩展模板开始发展,你会得到一个默认目标包含方法存根和属性列表设置定义的扩展点你选择。

创建扩展的更多信息,请参阅 应用程序扩展编程指南 。

触摸ID认证
您的应用程序现在可以使用触摸ID对用户进行身份验证。 一些应用程序可能需要获得他们所有的内容,而其他人可能需要获得特定的信息或选择。 在这两种情况下,您可能需要用户进行身份验证之后再继续。 使用本地身份验证框架( LocalAuthentication.framework) 向用户显示一个警告,application-specified原因为什么用户进行身份验证。 当你的应用程序得到回复,它可以根据用户是否能够反应成功进行身份验证。

有关更多信息,请参见 当地的认证框架参考 。

PassKit
PassKit框架增加了支持付款和付款请求。 付款请求让用户安全地为您提供他们的付款和联系信息为物理商品和服务。 付款将被添加到存折通过网络付款,信用卡发卡机构和银行等,让用户选择他们的账户支付网络基金支付。

有关更多信息,请参见 PassKit框架引用 。

照片
拍摄更好的照片在你的应用程序,提供新的照片应用程序编辑功能,并创建新的、更高效的工作流访问用户的照片和视频的资产。

照片的框架
这些照片框架( Photos.framework )提供了新的api来处理照片和视频资产,资产,包括iCloud照片,由照片管理应用程序。这个框架是一个更有能力替代资产库的框架。 抓取的关键特性包括一个线程安全的架构和缓存缩略图和全尺寸的资产,要求改变资产,观察变化由其他应用程序,可恢复的资产内容的编辑。

有关更多信息,请参见 照片框架引用 。

使用相关的UI框架(照片 PhotosUI.framework )来创建应用程序扩展应用程序编辑图片和视频资产照片。更多的信息,知道了 应用程序扩展编程指南 。

手动相机控制
AV基础框架( AVFoundation.framework )比以往更容易拍出精彩的照片。 你的应用程序可以直接控制相机的焦点,白平衡,曝光设置。 此外,应用程序可以使用将曝光捕捉自动捕获图像不同的曝光设置。

更多信息见 AV基础框架引用 。

改进的相机功能
使用以下api来发现并启用新相机特性发现iPhone 6和iPhone 6加上:

一个新的属性( videoHDRSupported )可以确定一个捕获设备支持高动态范围流。
一个新的视频稳定模式( AVCaptureVideoStabilizationModeCinematic )提供了更多的电影结果捕获视频。
一个新的属性( highResolutionStillImageOutputEnabled )可以用来设置一个 avcapturestillimageoutput 对象捕捉仍然更高分辨率的图片。
一个新的属性( autoFocusSystem )可用于确定如何执行自动聚焦相机。
游戏
技术改进在iOS 8比以往任何时候都更容易实现你的游戏的图形和音频功能。 利用高层框架易于开发、或使用新的低级增强利用GPU的力量。

金属
金属提供极低开销访问A7和A8 gpu,使极高的性能对你复杂的图形渲染和计算任务。 金属作为昂贵的国家消除了许多性能bottlenecks-such确认被发现在传统图形api。 金属是显式设计将所有昂贵的状态转换和编译操作的关键路径你最敏感的渲染代码性能。 金属提供了预编译的着色器、状态对象和明确的指挥调度,确保您的应用程序实现尽可能高的性能和效率的GPU图形和计算任务。 这个设计理念延伸到工具用于构建应用程序,当你的应用程序是建立Xcode项目中金属着色器编译成一个默认库,消除大部分的准备这些着色器的运行成本。

图形、计算和位块传输命令无缝、高效地设计用于在一起。 金属是专门利用现代建筑设计考虑,如多处理和共享内存,使它易于并行化GPU的创建命令。

用金属,你有流线型的API,一个统一的图形和计算着色语言,和Xcode-based工具,所以你不需要学习多个框架、语言和工具来充分利用GPU在你的游戏或应用程序。

使用金属的更多信息,请参阅 金属编程指南 , 金属框架参考 , 金属着色语言指南 。

SceneKit
SceneKit是一个objective - c框架构建简单的游戏和丰富的应用与3 d图形用户界面,结合高性能渲染引擎和一个高层,描述性的API。 SceneKit以来一直使用OS X v10.8,现在首次在iOS。 低层api(比如OpenGL ES)需要实现渲染算法精确详细地显示一个场景。 相比之下,SceneKit让你描述你的场景的content-geometry、材料、灯光、相机的,后来动画它通过描述这些对象的变化。

SceneKit的3 d物理引擎活跃你的应用程序或游戏通过模拟重力,部队,刚体碰撞,和关节。 添加高级行为,使其易于使用轮式车辆如汽车在一个场景,并添加物理领域,应用径向重力、电磁、湍流对一个区域内的对象的效果。

使用OpenGL ES呈现更多的内容到一个场景,或提供GLSL着色器,更换或增加SceneKit的呈现。 你也可以添加shader-based SceneKit呈现的后处理技术,如颜色分级或屏幕空间环境闭塞。

有关更多信息,请参见 SceneKit框架引用 。

SpriteKit
SpriteKit框架( SpriteKit.framework )添加新功能,让它更容易支持高级的游戏效果。 这些特性包括支持自定义OpenGL ES着色器和照明,与SceneKit的集成,和先进的新物理效果和动画。 例如,您可以创建物理字段来模拟重力,阻力,并使用的电磁力 SKFieldNode 类。 你可以轻松地创建物理身体逐碰撞面具。 是比以往更容易销其母的物理身体,即使母公司没有自己的物理身体。 这些新的物理特性使复杂的模拟更容易实现。

使用约束来修改物理效果和动画的内容为例,你可以总是指向另一个节点一个节点的两个节点的移动。

Xcode 6还包含新的材质和场景编辑器,节省你的时间当你创建你的游戏。 创建一个场景的内容,指定哪些节点出现在现场,这些节点的特点,包括物理效应。 现场然后序列化到一个文件,你的游戏可以很容易地加载。

这个框架的类的信息,请参阅 SpriteKit框架引用 和 SpriteKit编程指南 。

AV音频引擎
AVFoundation框架( AVFoundation.framework )增加了支持为各行业的音频功能比核心音频在更高层次的抽象。 这些新的音频功能都可以在OS X和iOS和包括自动访问音频输入和输出硬件、音频录制和回放,以及音频文件解析和转换。 你也获得音频单元生成特效和过滤器,音高和回放速度管理、音响和3 d音频环境和MIDI乐器。

有关更多信息,请参见 AV基础框架引用 。

OpenGL ES
iOS 8以下新的扩展OpenGL ES补充道。

的 APPLE_clip_distance 扩展增加了支持硬件夹飞机OpenGL ES 2.0和3.0。
的 APPLE_texture_packed_float 增加了两个新的浮点纹理格式, R11F_G11F_B10F 和 RGB9_E5 。
的 APPLE_color_buffer_packed_float 扩展基础上 APPLE_texture_packed_float 这样的新纹理格式可以使用framebuffer对象。 这意味着应用程序可以渲染到帧缓存,使用这些格式之一。
HealthKit框架
HealthKit( HealthKit.framework )是一个新的框架来管理用户的与健康有关的信息。 为应用程序和设备的扩散跟踪健康和健身信息,用户很难得到一个明确的证据表明他们正在做的事情。 HealthKit使应用程序更容易分享与健康有关的信息,这些信息是否来自设备连接到一个iOS设备或者由用户手动输入。 用户的健康信息存储在一个集中的和安全的位置。 用户可以看到所有数据显示在医疗应用。

当你的应用程序实现了支持HealthKit时,它会得到用户访问与健康有关的信息,可以提供关于用户的信息,而不需要实现对特定fitness-tracking设备的支持。 用户决定哪些数据应该与你的应用程序共享。一旦与你的应用程序共享数据,应用程序可以注册通知时,数据变化;你有细粒度的控制当你的应用程序通知。 例如,请求应用程序通知每当用户需要他们的血压,或通知只有当测量显示,用户的血压太高了。

HomeKit框架
HomeKit( HomeKit.framework )是一种新的沟通和控制框架连接设备在用户的家。 新设备的家庭提供更多的连通性和更好的用户体验。 HomeKit提供了一种标准化的方式来与这些设备通信。

您的应用程序可以使用HomeKit与设备通信用户在他们的房子里。 使用你的应用程序,用户可以发现设备在家里和配置它们。 他们还可以创建行动来控制这些设备。 用户可以使用Siri团体一起行动,引发他们。 一旦创建一个配置,用户可以邀请其他人分享访问它。 例如,用户可能会暂时提供房子的客人。

使用HomeKit配件模拟器来测试HomeKit应用的通信设备。

有关更多信息,请参见 HomeKit框架引用 。

iCloud
iCloud包括一些变化,影响现有应用程序的行为,影响用户的应用程序。

Document-Related数据迁移
云基础设施时更加健壮和可靠的文档和用户设备和服务器之间的数据传输。 当一个用户安装iOS 8和iCloud账户登录设备,iCloud服务器执行一次性迁移的文件和数据,用户的账户。 这种迁移涉及的文档和数据复制到一个新版本的应用程序的容器目录。 新的容器只能运行iOS 8或OS X v10.10设备。 设备运行旧的操作系统可以继续访问原始容器,但更改容器没有出现在新容器和更改新的容器没有出现在原始容器。

CloudKit
CloudKit( CloudKit.framework )是一个管道之间移动数据的应用程序和iCloud。 与其他云技术在数据传输发生透明,CloudKit给你控制转移发生时。 您可以使用CloudKit来管理所有类型的数据。

应用程序直接使用CloudKit可以将数据存储在一个存储库,由所有用户共享。 这个公共存储库与应用程序本身,甚至可用设备上没有注册iCloud账户。 作为应用程序开发人员,您可以直接管理该容器中的数据,看看通过CloudKit仪表板用户所做的所有更改。

这个框架的类的更多信息,见 CloudKit框架引用 。

文档选择器
文档选择器视图控制器( UIDocumentPickerViewController )授予用户访问文件应用程序的沙箱之外。 这是一个简单的应用程序之间共享文件的机制。 它还支持更复杂的工作流,因为用户可以编辑一个文档与多个应用程序。

文档选择器允许您访问文件的文档提供者。 例如,iCloud文档提供者授予访问文档存储在另一个应用程序的iCloud容器。 第三方开发者使用存储提供商可以提供额外的文档提供者扩展。

有关更多信息,请参见 文档选择器编程指南 。

切换
切换是OS X和iOS的特性,扩展了用户体验跨设备的连续性。 切换使用户能够开始一个活动在一个设备,然后切换到另一个设备和简历相同的活动在其他设备上。 例如,一个用户在Safari浏览一长文章移动到一个iOS设备的签署相同的苹果ID,和相同的网页自动打开在iOS Safari,相同的原始设备上滚动的位置。 尽可能无缝切换使这种体验。

参与交接,一个应用程序采用一个小API的基础。 每一个正在进行的活动在一个应用程序是由一个用户活动对象包含数据需要恢复一个活动在另一个设备。 当用户选择恢复活动,对象是发送到恢复设备。 每个用户活动对象调用委托对象,刷新活动状态的时候,比如在用户活动对象之间发送设备。

如果继续一个活动需要更多的用户活动不是很容易转移的数据对象,恢复应用程序可以选择打开一个流的原始应用程序。基于文档的应用程序自动为用户继续使用iCloud-based文档支持活动。

有关更多信息,请参见 切换编程指南 。

支持新屏幕大小和鳞片
应用程序链接对iOS 8,后来应该准备支持iPhone更大的屏幕尺寸6和iPhone 6优先。 iPhone 6另外,应用程序也应该准备支持一个新的屏幕。 特别值得一提的是,应用程序支持OpenGL ES和金属也可以选择大小呈现 CAEAGLLayer 或 CAMetalLayer 获得最佳性能的iPhone 6加上。

让系统知道你的应用程序支持iPhone屏幕尺寸6,故事板启动屏幕文件包含在您的应用程序的包。 在运行时,系统寻找一个故事板启动屏幕文件。 如果存在这样一个文件,系统假设应用程序支持iPhone 6和6加上明确在全屏模式下,并运行它。 如果这样一个图像不存在,系统报告一个较小的屏幕尺寸(320年由480分或320 568点),继续你的应用程序在屏幕上设置的计算是正确的。 内容然后缩放以适合更大的屏幕。

更多关于指定应用程序的启动图像信息,明白了 添加应用程序图标和启动屏幕文件 。

iOS 8添加新特性,使处理屏幕大小和方向更多功能。 比以往任何时候都更容易为你的应用创建一个接口,在iPad和iPhone,调整方向的变化和不同的屏幕大小。 使用大小类,您可以检索的一般信息大小的设备目前的取向。 您可以使用这些信息来进行初始假设应该显示哪些内容以及这些界面元素彼此相关。 然后,使用自动布局调整和重新定位这些元素提供适合该地区的实际大小。 Xcode 6使用大小类和autolayout创建故事板,自动适应类变化和不同的屏幕尺寸大小。

特征描述类和一个接口的规模大小
大小类特征分配给一个用户界面元素,比如屏幕或视图。 有两种类型的大小类iOS 8:定期和紧凑。 常规尺寸类表示大量的屏幕空间,如在一个iPad,或一般采用范例,提供大量的屏幕空间的错觉,比如iPhone上滚动。 每个设备由大小定义类,垂直和水平。

图1 和 图2 显示本机为iPad大小类。 iPad的屏幕空间,有一个标准尺寸类在垂直和水平方向在肖像和景观方向。

图1 iPad大小类肖像

图2 iPad大小类景观

类iphone基于不同大小的设备及其取向。 在肖像,屏幕有一个紧凑的大小类水平和常规大小类垂直。 这对应于垂直滚动的常见使用模式的更多信息。 当iphone在景观,它们的大小类有所不同。 大多数iphone有一个紧凑的大小类从水平和垂直方向,如图所示 图3 和 图4 。 iPhone 6 +有一个屏幕大到足以支持常规的宽度在横向模式,如所示 图5 。

图3 iPhone大小类的肖像

图4 iPhone大小类景观

图5 iPhone 6 +类景观

你可以改变大小与一个视图类。 这种灵活性是特别有用,当一个较小的观点是包含在一个更大的观点。 使用默认大小类安排更大的视图的用户界面和安排信息的子视图基于无论大小类你觉得最合适的子视图。

支持大小类,类是新的或修改如下:

的 UITraitCollection 类是用来描述特征分配给一个对象的集合。 特征指定大小类、显示比例和成语为特定对象。 类,支持 UITraitEnvironment 协议(如 uiscreen , uiviewcontroller 和 uiview )的特征集合。 您可以检索对象的特征集合和这些特性改变时执行操作。
的 UIImageAsset 类是用来像图像分组根据他们的特征。 类似的图片稍微不同的特征组合为单个资产,然后自动检索正确的图像从图像资产特定特征集合。 的 UIImage 使用图像资产类被修改。
类,支持 UIAppearance 协议可以自定义对象的外观根据其特征集合。
的 uiviewcontroller 类增加了检索的能力特征集合的子视图。 你也可以布置视图类变化通过改变大小 viewWillTransitionToSize:withTransitionCoordinator: 方法。
Xcode 6支持统一的故事板。 故事板可以添加或删除视图基于规模和布局约束类,显示在视图控制器。 而不是维护两个独立故事板(但类似),你可以让一个故事板的多个大小类。 首先,设计你的故事板与一个公共接口,然后定制为不同大小类,接口适应每个形式的优势因素。 使用Xcode 6来测试你的应用程序在各种大小类和屏幕尺寸,以确保你的界面适应新的尺寸正确。

支持新屏幕尺度
iPhone 6 +使用一个新的视网膜高清显示很高的DPI屏幕。 支持这项决议,iPhone 6另外创建一个 uiscreen 对象的屏幕尺寸为414 x 736分和屏幕的规模 3.0 (1242 x 2208像素)。 屏幕显示的内容后,UIKit样品这个内容以适应实际的屏幕尺寸为1080 x 1920。 支持这种渲染行为,包括新的艺术品为新设计的 3倍 屏幕比例。 在Xcode 6、资产目录可以包含图片 1 x , 2倍 , 3倍 大小;简单地添加新的图像资产和iOS将选择正确的资产当运行在iPhone 6加上。 iOS也认识到一个图像加载行为 @3x 后缀。

在一个图形应用程序,使用金属或OpenGL ES,内容可以很容易地呈现的精确尺寸显示而不需要额外的采样阶段。 这是至关重要的3 d应用程序执行许多高性能计算为每个像素呈现。 相反,创建缓冲区渲染到显示器的分辨率。

一个 uiscreen 对象提供了一个新的属性( nativeScale )提供本机屏幕的屏幕比例因子。 当 nativeScale 屏幕上的属性具有相同的值 规模 财产,那么呈现像素尺寸是一样的屏幕的像素尺寸。 当两个值不同,那么您可以期望内容取样之前显示。

如果您正在编写一个OpenGL ES应用, GLKView 对象会自动创建其renderbuffer对象基于视图的大小和它的价值 contentScaleFactor 财产。 后,查看已添加到一个窗口,设置视图的 contentScaleFactor 值存储在屏幕上的 nativeScale 属性,如所示 清单1 。

清单1 支持本地规模GLKView对象
- (void) didMoveToWindow
{
    self.contentScaleFactor = self.window.screen.nativeScale;
}
金属的应用程序,你自己的视图类的代码应该类似于代码中发现的 清单1 。 此外,只要你的视图的尺寸发生变化,和之前问新可拉的金属层,金属层的计算和设置 drawableSize 房地产所示 清单2 。 (一个OpenGL ES应用程序创建自己的renderbuffers会使用类似的计算。)

清单2 调整大小的金属层与本机屏幕
CGSize drawableSize = self.bounds.size;
drawableSize.width  *= self.contentScaleFactor;
drawableSize.height *= self.contentScaleFactor;
metalLayer.drawableSize = drawableSize;
看到 MetalBasic3D 对于一个工作示例。 Xcode模板OpenGL ES和金属也展示这些相同的技术。

额外的框架的变化
除了上面描述的重大变化,iOS 8包括其他改进。

API现代化
许多框架在iOS采用小接口变化,利用现代objective - c的语法:

Getter和setter方法属性在大多数类所取代。 代码使用现有的getter和setter方法继续使用这种变化。
更新初始化方法的返回值 instancetype 而不是 id 。
在适当的地方声明指定的初始化等。
在大多数情况下,这些变化不需要任何额外的工作在您自己的应用程序。不过,你也可以在自己的objective - c代码实现这些变化。 特别是,您可能想要现代化objective - c代码交互斯威夫特代码时最好的经验。

有关更多信息,请参见 采用现代objective - c 。

AV基础框架
AV基础框架( AVFoundation.framework )允许您捕获元数据随着时间的推移在拍摄视频。 任意类型的元数据可以嵌入录像在各种时间点。 例如,您可能在一个视频记录当前的物理位置由一个移动摄像设备。

这个框架的类的信息,请参阅 AV基础框架引用 。

AVKit框架
AVKit框架( AVKit.framework )之前介绍了OS X在iOS。 当你需要使用它,而不是媒体播放器框架显示视频。

CoreAudioKit框架
新的CoreAudioKit框架简化了工作需要为应用程序创建的用户界面利用inter-app音频。

核心形象框架
核心形象框架( CoreImage.framework )有以下变化:

您可以创建自定义图像内核在iOS。
核心图像探测器可以检测矩形和QR码图像。
这个框架的类的信息,请参阅 核心形象参考集合 。

核心位置的框架
框架(核心位置 CoreLocation.framework )有以下变化:

你可以确定哪些层设备,如果设备是在多层建筑。
访问服务提供的另一个显著的位置变化服务应用程序需要用户位置信息的有趣的地方参观。
这个框架的类的信息,请参阅 核心位置框架参考 。

核心运动框架
核心运动提供了两个新类( CMAltimeter 和 CMAltitudeData ),允许您访问iPhone iPhone 6 + 6和晴雨表。 这两个设备,你也可以使用 CMMotionActivity 对象来确定用户是否骑自行车。

基础框架
基础框架( Foundation.framework )包括以下改进:

的 NSFileVersion 类提供了访问过去iCloud文档的版本。 这些版本都存储在iCloud,但是可以下载请求。
的 NSURL 类支持存储文档缩略图元数据。
的 NSMetadataQuery 类可以寻找外部iCloud的文档应用程序打开了。
游戏控制器框架
游戏控制器框架( GameController.framework )有以下变化:

如果控制器是连接到一个设备,您现在可以接收设备运动数据直接从游戏控制器框架。
如果你正在与按钮输入和不关心压力敏感性,一个新的处理程序可以调用你的游戏只有当按钮按下状态的变化。
GameKit框架
GameKit框架( GameKit.framework )有以下变化:

特性被添加在iOS 7都可以在OS X 10.10,使其更容易使用这些功能在一个跨平台的游戏。
新 GKSavedGame 类和新方法 GKLocalPlayer 使它容易保存和恢复用户的进展。 数据存储在iCloud;GameKit必要的工作设备之间同步文件和iCloud。
方法和属性使用球员现在已经弃用标识符字符串。 相反,使用 GKPlayer 对象识别的球员。 更换添加属性和方法 GKPlayer 对象。
iAd框架
iAd框架( iAd.framework )添加了下列新特性:

如果您正在使用AV设备扮演一个视频,你可以玩视频播放前预滚动广告。
你可以查找更多的信息广告为您的应用程序的有效性。
这个框架的类的信息,请参阅 iAd框架引用 。

媒体播放器框架
两个媒体播放器框架( MediaPlayer.framework )类是扩展新的元数据信息。

这个框架的类的信息,请参阅 媒体播放器框架引用 。

网络扩展框架
使用新的网络扩展框架( NetworkExtension.framework )配置和控制虚拟私有网络(VPN)。

SpriteKit框架的变化
SpriteKit框架( SpriteKit.framework 增加了很多新特性:

一个 SKShapeNode 对象可以指定使用纹理形状时抚摸或填满。
的 SKSpriteNode , SKShapeNode , SKEmitterNode , SKEffectNode 类包括支持自定义渲染。 使用 SKShader 和 SKUniform 编译一个基于OpenGL ES 2.0的片段着色器类材质,并提供输入数据。
SKSpriteNode 对象可以提供照明的信息以便SpriteKit自动生成灯光效果和阴影。 添加 SKLightNode 对象到现场指定的灯,然后定制属性在这些灯和任何精灵来确定如何点燃现场。
的 SKFieldNode 类提供了物理特效可以适用于一个场景。 例如,产生了磁场,增加阻力的影响,甚至产生随机运动。 所有影响被限制到一个特定地区的现场,你可以仔细调整效果的强度和速度的影响是削弱了距离。 字段节点很容易下降影响无需搜索整个列表的物理身体和力量适用于他们。
一个新的 SK3DNode 类是用来SceneKit现场集成到你的游戏是雪碧。 每次SpriteKit呈现你的场景,渲染3 d场景结点生成纹理,然后使用纹理呈现SpriteKit雪碧。 创造3 d精灵可以帮你避免创建数十帧动画产生效果。
添加了新的行动,包括支持逆运动学动画。
一个新系统的约束添加到场景处理。 SpriteKit约束适用于物理模拟后,你使用他们指定一组规则节点是如何定位和导向。 例如,您可以使用一个场景中的约束指定特定的节点在现场总是指向另一个节点。 约束更容易实现呈现在你的游戏规则,而无需手动调整现场事件循环。
一个场景可以实现所有的代表,而不是子类化run-loop阶段 SKScene 类。 使用一个委托常常意味着你可以避免需要子类 SKScene 类。
的 SKView 类提供了更多的调试信息。 你也可以提供更多性能提示渲染器。
您可以创建法线贴图纹理用于照明和物理计算(或者在你自己的自定义着色器)。 使用新的 SKMutableTexture 类时,您需要创建纹理内容的动态更新。
你可以在运行时动态生成纹理地图集从纹理的集合。
Xcode 6还包含了许多新的SpriteKit编辑。 直接创建或编辑场景的内容,指定的节点出现在现场以及他们的物理身体和其他特征。 现场被序列化到文件中,可以由你的游戏直接加载。 编辑们节省你的时间,因为你经常不需要实现自己的自定义编辑器来创建你的游戏的资产。

这个框架的类的信息,请参阅 SpriteKit框架引用 和 SpriteKit编程指南 。

UIKit框架
UIKit框架( UIKit.framework )包括以下改进:

使用本地或推送通知的应用程序必须显式地注册类型的警报,他们显示给用户使用 UIUserNotificationSettings 对象。 这个注册过程是独立于注册远程通知的过程,和用户必须授予许可通知通过请求的选项。
本地和推送通知可以包括自定义动作作为一个警告的一部分。 自定义动作出现在警报按钮。 当了,你的应用程序通知,要求执行相应的动作。 当地通知也可以由与核心交互位置区域。
集合视图支持动态改变细胞的大小。 通常,您使用这种支持以适应更改首选文本大小,但是你可以适应其他场景。 集合视图还支持更多的选择不同部分无效的布局,从而提高性能。
的 UISearchController 类取代了 UISearchDisplayController 类来管理搜索相关接口的显示。
的 uiviewcontroller 类采用特征和新的分级调整视图控制器的技术内容,如前所述 统一的故事板普遍应用 。
的 UISplitViewController 类现在支持iPhone和iPad。 接口的类调整以适应可用的空间。 类也改变了它可以显示和隐藏的主要视图控制器,给你更多的控制如何显示分割视图界面。
的 针对UINavigationController 类有新的选项改变导航栏的大小或完全隐藏它。
新 UIVisualEffect 类允许您自定义的模糊效果融入你的视图层次结构。
新 UIPresentationController 视图控制器类允许你单独的内容从chrome用于显示它们。
新 UIPopoverPresentationController 类处理的内容在一个酥饼。 现有的 UIPopoverController 类使用酥饼表示控制器在屏幕上只显示泡芙。
新 uialertcontroller 类取代了 uiactionsheet 和 UIAlertView 类的首选方法在你的应用程序显示警报。
新 UIPrinterPickerController 类提供了一个视图控制器的方法来显示打印机的列表,选择一个使用在印刷。 打印机为代表的新实例 UIPrinter 类。
你可以把用户直接app-related设置在设置应用。通过 UIApplicationOpenSettingsURLString UIApplicationOpenSettingsURLString 不变的 openURL: 的方法 UIApplication 类。
这个框架的类的信息,请参阅 UIKit框架引用 。

视频工具箱框架
视频工具箱框架( VideoToolbox.framework )包括直接访问硬件视频编码和解码。

Webkit框架
添加了许多新类,让它更容易创建高性能的本地应用,利用web内容。 看到 WebKit框架引用 。

ios 8 适配须知