開発者向け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」
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つの要素で構成されます。
- App Slicing
- デバイスに適したアプリバンドルを生成する
- 例えば、対象がiPhone 6 Plusの場合、「arm64」向けのバイナリとスケール3倍の画像リソースを含む
- On Demand Resources
- 必要になったタイミングで、リソースを追加ダウンロードできるようにする
- 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
- アプリ内でSafariの機能を使用する
- News Publisher
- Newsアプリ用のフォーマットの作成と配信
参考資料
- iOS 9for Developers
- Adopting Multitasking Enhancements on iPad(Prerelease)
- What's New in iOS(Prerelease)
- iOS Search API Best Practices and FAQs(Prerelease)
- NSUserActivity Class Reference(Prerelease)
- WWDC 2015 Videos
- Seamless Linking to Your App
- App Thinning in Xcode
- Introducing Safari View Controller
- What’s New in CloudKit
- What’s New in MapKit
- What’s New in HomeKit
- What's New in HealthKit
- App Thinning - App Distribution Guide(Prerelease)
- Adaptive User Interfaces
- iOS 9プレビュー
関連記事
- iPhone 6/6 Plusアプリ開発入門
iPhone 6/6 PlusアプリをSwift言語で作成してみたいという初心者向けにiOS 8の新機能を使ったアプリの作り方を一から解説する入門連載 - 初心者のためのSwiftで始めるプログラミング入門
本連載では、これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。 - 実機を触って分かった、“使われる”Apple Watchアプリのキモ
ただApple Watch対応アプリを開発するのではなく、ユーザーに使ってもらえるアプリを開発する際のキモとは何だろうか。筆者自身がApple Watchを使っていて感じたこと、そして周囲の開発者と話して気付いたことをまとめてみよう。 - 開発者視点で見る、あのドデカい「iPhone 6/6 Plus」
開発者は新iPhoneの画面サイズに合わせ、UI全てを作り直さないといけないの? アプリ開発者でもある筆者が、その現状を調べてみた。 - Cocoaの素、Objective-Cを知ろう
iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基本を理解しよう。 - 生産性ガチアゲなオープンソースiOSライブラリ
ゼロからiOS SDK開発を始める新規開発者でも超高速・高品質な開発を可能にするオープンソースのライブラリを目的別に紹介していく連載です。実際にライブラリを組み込みながら技術的な側面も併せて詳細に説明していきます。 - iOSアプリ開発でもCI/継続的デリバリしようぜ
現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。
Copyright © ITmedia, Inc. All Rights Reserved.