特集
» 2015年07月24日 05時00分 UPDATE

夏休みに捗る:開発者向けiOS 9、WatchOS 2、Swift 2、Xcode 7の新機能と新しいApple Developer Programの参考情報まとめ (1/3)

iOS 9、WatchOS 2、Swift 2、Xcode 7の新機能や、Apple Developer Programについて、その概要とアップルが公開している参考情報をまとめて紹介します。

[平屋真吾,クラスメソッド]

多分正式リリースされる9月中旬に向けて

 本記事では、アップルが一般に公開している情報を基に、WWDC 2015で発表された開発者向けの情報を紹介します。以下の5つのトピックについて、それぞれの概要や特徴などを説明していきます。

 2015年7月の執筆時に参考にした公式資料へのリンクも載せていますので、より詳しい情報を知りたい方は、そちらもご覧ください。

 Xcode 4.5は2012年9月13日、iOS 6は9月19日にiOS 7/Xcode 5は2013年9月18日にXcode 6は2014年9月9日に、iOS 8は9月17日に、それぞれ正式リリースされました。例年通りで考えると、iOS 9/Xcode 7も今年の9月中旬には正式リリースされることが予想されます。

 この夏休みで最新情報を把握して、iOS 9そしてWatchOS 2に対応したアプリを作っておくことでライバルに差をつけましょう。

iPhone/iPad/iPod touch向けOS最新版「iOS 9」

wwdc2015-1.jpg

 iOS 7ではユーザーインターフェースが一新され、iOS 8では開発者向けの新機能が大量に追加されました。iOS 9の変更は既存の機能の改善やユーザー体験の向上がメインになっています。

 開発者向けのiOS 9の紹介ページでは、「iPad向けのMultitasking」「検索 API」「App Thinning」などが大きく取り上げられています。

Multitasking(iPad向けマルチタスキング)

 iOS 9を搭載したiPadであれば、新しいMultitasking機能を利用できます。2つのアプリを同時に動かせるようになっており、iPadの大きなディスプレーをさらに有効活用できます。この新しいMultitaskingで利用できるのは以下の3つの機能です。

  • Slide Over
  • Split View(iPad Air 2のみ)
  • Picture in Picture

 Xcode 7のテンプレートからプロジェクトを作成すると、デフォルトでSlide OverやSplit Viewをサポートする設定になっています。

 既存のアプリを対応させる場合でも、iOS 8から推奨されている「Adaptive UI」に従った実装になっていれば、対応は容易です。Adaptive UIは、どんなディスプレーサイズにも、どんなデバイスの向きにも対応したUIのことです。

 iPad用の新しいMultitasking機能に対応するためには下記が必要になります。

  • Adaptive UIを採用する
    • Dynamic Typeをサポートする
    • Auto Layoutでレイアウトを作成する
    • Size Classesを使用する
    • 全てのorientationをサポートする
  • Launch Storyboardを使用する
  • iOS 9 SDKを使用する

 新しいMultitasking機能の登場によって、リソースの管理は大きく変わります。2つのアプリが同時に動く場合、CPUやメモリなどのリソースを1つのアプリで独占することはできません。

 例えば、ユーザーが「Picture in Picture」で動画を再生すれば、そのアプリはバックグラウンドで動き続けます。各アプリで利用できるメモリは減少し、時間当たりに処理できることも減少します。ユーザーがSlide Overを利用して2つのアプリを使った場合も同様です。

検索API

 iOS 9のSpotlightやSafariの検索機能を使えば、アプリやWebサイトのコンテンツから欲しい情報を見つけることができるようになります。また、「Universal Links」という仕組みを使って、最適な場所(アプリ、Webサイトなど)へユーザーを誘導することもできます。

 iOS 9では以下の3つの検索用のAPIが提供されており、これらのAPIを利用することで強力な検索機能に対応できます。

  • NSUserActivity
    • NSUserActivity自体はiOS 8で追加されたクラス
    • アプリに関連したユーザーのアクティビティを記録して、検索対象にする
  • Core Spotlight
    • 「Core Spotlight framework」という新しいフレームワークを利用する
    • アプリのコンテンツのインデックス、コンテンツへのリンクを可能にする
    • 対象はドキュメント、写真などの永続化されたユーザーデータである
  • Web Markup
    • Webサイトを適切にマークアップすれば、関連するコンテンツが検索可能になり、検索結果の質が上がる
    • Smart App Bannerを追加すれば、Webサイトからアプリへ誘導させることができる

 適切に検索APIに対応することによって、以下のような効果がもたらされます。

  • ユーザー体験をより良いものにできる
  • アプリの使用率を増加させることができる
  • 検索結果にアプリのコンテンツが表示されるので、アプリへの再訪問を促すことができる

ゲーム制作用の新フレームワーク

 ゲームアプリ向けのフレームワークが3つ追加されています。

  • GameplayKit
    iOS/OS X向けのゲームを作るための基礎的なツールやテクノロジを提供する
  • ReplayKit
    ゲームのプレー動画の録画、編集、シェアを可能にする
  • Model I/O
    3Dモデル素材などのリソースをシステムレベルで解釈できるようにする

App Thinning

 App Thinningはデバイスに最適化されたサイズのアプリをダウンロード可能にするための技術であり、以下の3つの要素で構成されます。

  1. App Slicing
    • デバイスに適したアプリバンドルを生成する
    • 例えば、対象がiPhone 6 Plusの場合、「arm64」向けのバイナリとスケール3倍の画像リソースを含む
  2. On Demand Resources
    • 必要になったタイミングで、リソースを追加ダウンロードできるようにする
  3. Bitcode
    • Bitcodeはコンパイルされたプログラムの中間表現である
    • Bitcodeを含んだ状態でiTunes Connectへアップロードしておけば、将来アーキテクチャの変更があっても再アップロードすることなくバイナリが最適化されるようになる

 最適化されたアプリを提供することで、アプリのダウンロードやインストールにかかる時間を短縮できます。また、アプリのインストールや動作に必要なストレージも削減できます。

その他

 iOS 9のその他の変更点は以下の通りです。

  • HomeKit
    • iCloud経由のリモートアクセスを追加
    • 新しいアクセサリタイプを追加
    • アクセサリを扱う新しい方法を追加
  • HealthKit
    • 新たなデータポイントを追加
  • MapKit
    • ピン、コールアウト、地図のカスタマイズ性を向上
    • Transit(経路検索)機能を追加
    • Flyover表示を追加
  • CloudKit
    • CloudKit Dashboard
    • CloudKit Web Services
    • 無料で利用できるストレージ・転送量が増加
  • Safari and Web Content
    • アプリ内でSafariの機能を使用する
      • Reader modeを利用する
      • AutoFillのサポート
      • ブラウザー履歴へのアクセス
    • Safari用の機能をExtensionとして提供する
      • Content Blockers
      • Shared Links App Extensions
  • News Publisher
    • Newsアプリ用のフォーマットの作成と配信

参考資料

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。