Appleは2014年のWorldwide Developer Conferenceで、新しいモバイルOSであるiOS 8を新しいSDKと開発ツールとともに発表した。4000を超える新しいAPIには、HealthKit、HomeKit、CloudKitなどの新しいフレームワークが含まれており、ゲーミングのプラットフォームとしても強化されている。
-
Swift
The Vergeによれば今回のWWDCでの最大のサプライズはSwiftだった。この言語についてはInfoQでもすでに取り上げている。Swiftは完全に新しい言語で、表現力に優れ、クロージャ、複数返却値、ジェネリクス、マップやフィルタなどの関数型プログラミングのパターンをサポートする。また、型推論のようなモダンなプログラミング言語の特徴を取り入れる一方、Objective Cの名前付きパラメータを受け継ぎ、名前空間を導入する。同じプロジェクトで既存のObjective Cのコードと共存できるので、導入しやすい。詳細は"The Swift Programming Language"を見るといいだろう。
-
HealthKit
HealthKitは新しいフレームワークであり、ユーザのヘルス情報へアクセスできる。フィットネスアプリはデータをiOS 8に搭載される新しいHealthアプリと共有できる。また、ヘルス情報へはユーザが構成したかたちでもアクセスできるようになる。例えば、栄養管理アプリがフィットネスアプリにカロリー消費などを通知できる。
-
HomeKit
HomeKitは家庭での通信と接続デバイスの制御に使われる新しいフレームワークであり、ユーザはアプリを通じて、家庭でデバイスを検知し、構成し、制御用のアクションを作成できる。アクションをグループ化し、Siri経由で実行もできる。また、HomeKit Accessoryプロトコルを定義する。このプロトコルは家庭でのデバイスの構成や家庭を自動化するアプリで利用される。
-
CloudKit
CloudKitを使うとアプリはiCloudにユーザのApple IDを使って個人情報を共有せずにログインできる。TechCrunchによれば、これができなかったが故に、"多くの開発者は、Microsoft Azure、Google Cloud Platform、Amazon Web Servicesのようなサードパーティのソリューションを使わざるを得ず、とても苦しい思いをしていた"。"CloudKit認証、検索、通知のような機能"が加わったおかげでとても楽になる。
-
SpriteKit
SpriteKitはiOS 7で導入され、開発者が2Dゲームを作成できるようになった。iOS 8では、Appleはいくつかの拡張を行い、ゲーム内キャラクタがより自然に動作し、開発者がフォースフィールドや、衝突検知を簡単にできるようにした。また、新しいライディンク効果を生成できるようにした。
-
SceneKit
SceneKitはiOS 8の新しいフレームワークであり、開発者が3Dでゲームを描画することができる。カジュアルな3Dゲーム開発向けに設計されたようだ。SceneKitは物理エンジン、パーティクルジェネレータと連携し、3Dオブジェクトの動作をスクリプトで記述する簡単な方法を提供する。SpriteKitと完全に統合されているので、開発者はSpriteKitのアセットを3Dゲームに含むことができる。
-
Metal
没入度が高いコンソール向け開発者用に開発されたMetalは、A7チップの性能を最高まで引き出すための仕組みだ。Touch Arcadeによれば、"専用のゲームコンソールに比べた場合、iOSハードウェアのデメリットはハードウエアに直接アクセスできないことです。iOS上での処理はすべてOpenGLを経由してしまいます"。Metalのおかげで、OpenGLのオーバヘットは少なくなり、"ほとんど問題にならない"。また、Appleは10倍の描画性能を実現している。Crytek、Unity、Epic GamesなどのいくつかのゲームエンジンメーカがMetalのサポートを発表している。
-
Touch ID API
Touch IDは指紋認識機能、現在はiPhone 5Sでのみ利用できる。iOS 8で初めて開発者がTouch IDを使いサードパーティアプリで認証を行えるようになる。
-
PhotoKit
iOS 8では、開発者は自分が作った写真アプリを使って、Camera Rollで写真を直接編集できる。事前に写真をインポートする必要はない。
-
Camera API
iOS 8では、サードパーティのカメラアプリでエクスポージャ、フォーカス、ホワイトバランスを正確に制御できる。
iOS 8とともに、AppleはXcode 6のベータ版を披露した。新しいバージョンでは、iOS 8のすべての新しい機能をサポートする。Swiftもサポートする。Xcode 6にはいくつかの改善がなされている。
- ビューのスタックの各レイヤの3Dレンダリング。ビューのデバッグや、クリップビュー、オーバラッピングビューの特定を簡単にする。
- XCTestユニットテストフレームワークを使った性能テストのサポート
- Interface Builderカンバス内部のSwiftコードのライブレンダリング。プログラムの変更を反映する。
AppleはiOS 8 SDKとXcode 6のベータ版を何らかのiOS Developer Programのメンバである登録済み開発者が利用できるようにしている。
Appleの発表によればiOS 8の最終のリリースは秋に予定されている。互換性のiOSデバイスはすべて無償でアップデートできる。