苹果发布新的iOS 8 SDK和开发工具
在2014全球开发者大会上,苹果发布了新的移动操作系统iOS 8以及新的SDK和开发工具。新发布的苹果软件包括超过4000个新API,其中包括像HealthKit、HomeKit和CloudKit这样的全新框架,并增强了平台的游戏功能。
- Swift
据Verge介绍, Swift 是全球开发者大会上最大的惊喜,InfoQ最近已经对其进行过报道。Swift是一门全新的语言,旨在通过支持闭包、多返回值、泛型、以及像map和filter这样的函数式编程模式获得极强的表现力。在保留Objective C的命名参数和引入命名空间的同时,Swift还支持像类型推断这样的现代编程语言概念。Swift代码可以在同一个项目中与Objective C共存,这使它很容易采用。详细信息可以阅读苹果免费提供的电子书《 Swift编程语言 》。
- HealthKit
HealthKit 是一个新框架,它允许应用程序访问有关用户健康的集中式数据。它将允许健身应用程序彼此之间以及与iOS 8中包含的新的 健康应用程序共享数据。该API将允许对健康数据进行用户可配置的访问,如允许营养应用程序为健身应用程序提供关于每天热量消耗的信息。
- HomeKit
HomeKit 也是一个新框架,用于在用户的家中与已连接的设备通信以及控制它们。应用程序使用户能够发现他们家中的设备并配置它们,或者用户可以创建Action来控制那些设备。用户可以将Action分组,并使用Siri进行触发。HomeKit还定义了一种HomeKit外设协议,与家居配置或家居自动化应用程序协同工作的外设可以支持该协议。
- CloudKit
CloudKit允许应用程序使用用户的苹果ID登录到iCloud,而不需要共享任何私人信息。 据TechCrunch报道 ,不允许这样做“对于开发者而言一直是个巨大的痛点,他们中的许多人都被迫转向第三方解决方案,如Microsoft Azure、Google Cloud Platform或Amazon Web Services。”增加“像CloudKit身份验证、搜索和通知这样功能”应该非常简单,随手便可引入。
- SpriteKit
SpriteKit 在iOS 7中引入,使开发者能够创建2D游戏。在iOS 8中,苹果对它进行了多项增强,这有助于使游戏中的角色移动更自然,也使得开发者可以更容易地添加力场、检测碰撞以及在他们的游戏中生成新的光影效果。
- SceneKit
SceneKit 是iOS 8中的一个新框架,它使开发者能够对游戏场景进行3D渲染。据说,它是为休闲3D游戏而设计的。SceneKit包含了一个物理引擎、一个粒子发生器以及编写3D物体行为脚本的简单方法。它还与SpriteKit完全集成,因此,开发者可以在3D游戏中包含SpriteKit资产。
- Metal
Metal是为开发者创建高度沉浸式控制台游戏而构建,它的目标是使开发者能够充分利用A7芯片以获得最佳性能。据 Touch Arcade报道 ,“iOS硬件一直有专用的游戏控制台,在这一点上,其缺点是完全没有对硬件的直接访问。开发者在iOS上所作的一切都要通过OpenGL”。Touch Arcade的报道中写道,多亏有了Metal,OpenGL的开销得以降低,“以至于不再是个问题”,与此同时,苹果 将渲染性能提高了10倍 。许多游戏引擎制造商都 已经宣布支持Metal ,如Crytek、Unity和Epic Games。
- Touch ID API
Touch ID 是一个目前只在iPhone 5S上提供的指纹识别功能。在iOS 8中,开发者将首次可以选择使用Touch ID登录到第三方应用程序,而不需输入密码。
- PhotoKit
在iOS 8中,开发者可以使他们的照片应用程序在Camera Roll中直接编辑照片,而不需要先导入。
- Camera API
在iOS 8中,除了其它已有的控制功能外,第三方照相机应用程序可以精确控制曝光、聚焦和白平衡。
苹果还随iOS 8推出了Xcode 6测试版 ,这是苹果的旗舰开发环境的新版本,它支持iOS 8的所有新功能,包括Swift。Xcode 6还引入了多项改进:
- 对视图栈中的每一层进行3D渲染,使视图调试更容易,而且可以找出剪掉的或重叠的视图;检查布局约束,等等。
- 在XCTest单元测试框架中支持性能测试。
- 在Interface Builder画布中实时展示Swift代码,以便将程序上的变化反映到应用程序的故事板上。
苹果已经为 所有已注册的开发者 ——他们是某个iOS开发者计划的成员——提供了iOS 8 SDK测试版和Xcode 6测试版。
根据 苹果的公告 ,iOS 8的最终版本预计在今年秋天发布,所有兼容的iOS设备可以免费更新。