UPDATE-2016.Jan: watchOS2.2以降(iOS9.3以降)より「一つのiPhoneコンパニオン・アプリケーションで複数のApple Watchとの接続切り替えを実行できる機能」が利用可能になりました。この新機能により、メソッドとプロパティが追加となりました。プログラムでは追加されたメソッドとプロパティを利用し、「非同期でのセッションの確立」と「iOS側プログラムでのセッション・ライフサイクル管理」の実装が必要となります。
watchOS1からの移行を含めた、watchOS2の技術概要を記述しています。
以下に目次の大項目を記載します。
1. はじめに
2. watchOS1 からwatchOS2への移行
互換性について
主な変更点
watchOS2 SDKで利用可能なフレームワーク
watchKitフレームワークの拡張
3. watchOS2の新しい技術の紹介
アプリケーションのライフサイクルイベント処理
リモート・ローカルの通知イベント処理
Watch Connectivity Frameworkによる相互通信とイベント処理(watchOS2.2/iOS9.3対応)
コンプリケーション(Complication)機能について
4. Apple Watchの操作概要
5. watchアプリケーションの構造
Apple Watchアプリケーションを構成する3つのターゲット
Apple Watchアプリケーションの基本的な特徴
Apple Watchアプリケーションの機能について
6. watchアプリケーションの画面デザインについて
画面レイアウトの設計と実行レイアウトについて
コントロール・オブジェクトの画面配置について
色について
文字フォントについて
ブランディングについて
7. watchアプリケーションの動作詳細
画面操作の動作概要
画面を管理するインターフェース・コントローラ
画面表示を管理するinterface.storyboard
8. watchアプリケーションのライフサイクル
アプリケーション全体のライフサイクル
インターフェース・コントローラのライフサイクル
9. ナビゲーション(画面遷移)機能の詳細
階層型(Hierarchical)ナビゲーション
ページ型(Page Based)ナビゲーション
モーダル(Modal)シート
モーダルによるページ型ナビゲーション
画面遷移先インターフェース・コントローラへの情報の引渡し
10. Glance機能の詳細
Glance画面からのwatchアプリケーションの起動
11. 通知(Notification)機能の詳細
通知画面の表示先
ユーザ通知画面の種類(ショート・ルックとロング・ルック)
ロング・ルック通知のアクションボタンの実装
ロング・ルックのアクションボタンをタップした場合の処理について
ロング・ルック通知の静的インターフェースと動的インターフェース
12. ハンド・オフ機能の詳細
iOSやMac OSでのハンドオフ
watchアプリケーションでのハンドオフ
Glanceでのハンドオフ
watchアプリケーションでのハンド・オフ
13. watchKit Frameworkについて
WKInterfaceControllerクラス
WKUserNotificationInterfaceControllerクラス
WKInterfaceObjectクラス
WKInterfaceButtonクラス
WKInterfaceDateクラス
WKInterfaceGroupクラス
WKInterfaceImageクラス
WKInterfaceLabelクラス
WKInterfaceMapクラス
WKInterfaceMovieクラス
WKInterfacePickerクラス
WKInterfaceSeparatorクラス
WKInterfaceSliderクラス
WKInterfaceSwitchクラス
WKInterfaceTableクラス
WKInterfaceTimerクラス
WKInterfaceDeviceクラス
WKAccessibilityImageRegionクラス
WKAlertActionクラス
WKAudioFileAssetクラス
WKAudioFilePlayerItemクラス
WKAudioFilePlayerクラス
WKAudioFileQueuePlayerクラス
WKExtensionクラス
WKExtensionDelegateプロトコル
WKImageクラス
WKPickerItemクラス
WKImageAnimatableプロトコル
14. Watch Connectivity Frameworkについて
WCSessionクラス (watchOS2.2/iOS9.3対応)
WCSessionFileTransferクラス
WCSessionFileクラス
WCSessionUserInfoTransferクラス
WCSessionDelegateプロトコル (watchOS2.2/iOS9.3対応)
15. ClockKit Frameworkについて
CLKComplicationクラス
CLKComplicationServerクラス
CLKComplicationTemplateクラスとTemplateサブクラス
CLKComplicationTimelineEntryクラス
CLKImageProviderクラス
CLKTextProviderクラス
CLKDateTextProviderクラス
CLKRelativeDateTextProviderクラス
CLKSimpleTextProviderクラス
CLKTimeIntervalTextProviderクラス
CLKTimeTextProviderクラス
CLKComplicationDataSourceプロトコル
16. おわりに