Share via


watchOS 3 の概要

この記事では、Xamarin 開発者向けに、watchOS 3 で使用できる新規および変更された API と機能のすべてについて説明します。

このドキュメントでは、次のトピックについて説明します。

watchOS 3 の新機能

Apple は、既存の機能に対する多くの機能強化に加えて、watchOS 3 にいくつかの新しい API とサービスを追加しました。

Apple Pay の機能強化

watchOS 3 では、PassKit フレームワークが拡張され、Apple Watch で実行されているアプリに対するセキュリティで保護されたアプリ内支払い (物理的な商品とサービスの両方) のサポートが可能になりました。

新しい PKPaymentAuthorizationController クラスと PKPaymentAuthorizationControllerDelegate クラスを使用して、ユーザーが支払い要求を承認できるインターフェイスを提示して応答します。

詳細については、Apple Pay の機能強化に関するガイドをご覧ください。

バックグラウンド タスク

watchOS 3 には、アプリが情報を更新するために使用できるバックグラウンド タスクがいくつか導入されており、ユーザーがアプリを開く前に、必要なコンテンツがアプリに確実に含まれるようにできます。

次の新しいバックグラウンド タスクを使用できます。

詳細については、「バックグラウンド タスク」ガイドをご覧ください。

コンプリケーションの機能強化

コンプリケーションは、役立つ情報をひとめで確認できる小さな視覚的要素です。 選択したウォッチの文字盤に応じて、ユーザーは 1 つ以上のコンプリケーションでウォッチの文字盤をカスタマイズできます。

watchOS 3 では、ユーザーがウォッチの文字盤から一目で情報にアクセスできるように、ウォッチ アプリ用に 1 つ以上のコンプリケーションを作成する機能がアプリに提供されます。

さらに、コンプリケーションには次の利点があります。

  • ユーザーは、ウォッチの文字盤から直接コンプリケーションをタップすることで、アプリをすばやく起動できます。
  • ウォッチの文字盤にアプリのコンプリケーションの 1 つがあると、システムはアプリを起動可能な状態に保ち、アプリをバックグラウンドで起動し、メモリ内に保持し、更新するための追加の時間を与えます。
  • コンプリケーションは、1 日あたり少なくとも 50 回のプッシュ更新が保証されます。
  • アプリにコンプリケーションが含まれている場合は、Apple Watch Face ギャラリーにフィーチャーされます。

watchOS 3 では、ClockKit フレームワークに CLKComplicationTemplateExtraLargeColumnsTextCLKComplicationTemplateExtraLargeRingImage など、極めて大型なコンプリケーションのための新しいテンプレートがいくつか追加されました。 さらに、ローカライズ可能なテキストを作成するには、CLKTextProvider クラスの新しいメソッドを使用します。

詳細については、「watchOS 3 のクイック操作のテクニック」ガイドをご覧ください。

新しく利用可能なフレームワーク

watchOS 3 には、以前は使用できなかったいくつかの既存の Apple フレームワークが含まれています。

  • SceneKit - SceneKit を使用して、照明、シェーディング、アニメーション、物理、パーティクル システムなどの他のプラットフォームで利用できるほとんどの機能を含む 3D モデルをウォッチ アプリの UI に組み込みます。 3D 空間オーディオ、カスタム メタル シェーダーまたは OpenGL シェーダー、コア イメージ フィルター、物理ベースの素材はサポートされていません。
  • SpriteKit - SpriteKit を使用して、アクション、物理、照明、パーティクル システムなどの他のプラットフォームで使用できるほとんどの機能を含むスプライトをアプリ ウォッチ アプリの UI でレンダリングおよびアニメーション化します。 3D 空間オーディオ、ビデオ再生、コア イメージ フィルターはサポートされていません。
  • AVFoundation - オーディオを管理および再生します。
  • CloudKit - ウォッチ アプリと iCloud コンテナーの間でデータを移動します。
  • コア オーディオ - オーディオ ストリーム、複雑なバッファー、時間値を表すデータ型を管理します。
  • GameKit - ソーシャル ゲームを作成します。

プロアクティブな候補

watchOS 3 を使用すると、アプリは特定のコンテキスト内でユーザーに情報を事前に提示できます。 この機能をサポートするために、NSUserActivity には、アプリが他のアプリで後で使用するための位置情報を提供できる MapItem プロパティが含められました。

詳細については、プロアクティブな候補の概要に関するガイドをご覧ください。

セキュリティとプライバシーの機能強化

Apple は、watchOS 3 のセキュリティとプライバシーの両方にいくつかの機能強化を行いました。これにより、開発者はアプリのセキュリティを強化し、エンド ユーザーのプライバシーを確保できます。

その結果、watchOS 3 (またはそれ以降) で実行されているアプリは、アプリがアクセスを望む理由をユーザーに説明する 1 つ以上のプライバシー固有のキーを Info.plist ファイルに入力して、特定の機能またはユーザー情報にアクセスする意図を静的に宣言する必要があります。

watchOS 3 は iOS 10 とこれらの変更を共有しているため、詳細については、iOS 10 のセキュリティとプライバシーの強化に関するガイドを参照してください。

スナップショットとドッキング

Apple は、watchOS 3 でユーザーが自分のお気に入りのアプリをピン留めしてすばやくアクセスできるドッキングを追加しました。 Apple Watch でユーザーがサイド ボタンを押すと、ピン留めされたアプリ スナップショットのギャラリーが表示されます。 ユーザーは左または右にスワイプして目的のアプリを見つけ、アプリをタップして起動し、スナップショットを実行中のアプリのインターフェイスに置き換えます。

システムは、アプリの UI のスナップショットを定期的に取得し、それらのスナップショットを使用してドキュメントを設定します。watchOS は、このスナップショットを作成する前に、アプリのコンテンツと UI を更新する機会を提供します。

詳細については、「バックグラウンド タスク」ガイドと Apple の「WKSnapshotRefreshBackgroundTask リファレンス」をご覧ください。

ユーザーへの通知

watchOS 3 で導入されたユーザー通知フレームワークでは、Apple Watch へのローカル通知とリモート通知の両方の配信がサポートされています。 このフレームワークを使用して、時刻や場所などの特定の条件に基づいて、通知を受信して処理するように、通知のスケジュールを設定します。

詳細については、「watchOS 3 のクイック操作のテクニック」ガイドをご覧ください。

Watch Connectivity Framework の機能強化

WCSession クラスの新しい HasContentPending プロパティは、処理が必要なデータをセッションがバックグラウンドで受信したことを示します。 また、RemainingComplicationUserInfoTransfers プロパティは、iOS アプリが watchOS コンプリケーションを更新できる残りの時間を返します。

詳細については、「バックグラウンド タスク」ガイドをご覧ください。

WatchKit Framework の機能強化

watchOS 3 には、次のような WatchKit Framework のいくつかの機能強化が含まれています。

  • アプリは、新しい WKCrownSequencer クラスを使用して Digital Crown の状態を取得し、WKCrownDelegate クラスを使用してユーザーがクラウンを回転したときに更新情報を受け取ることができます。
  • WKExtension クラスに、アプリのランタイム状態を追跡するためにアプリが使用できる ApplicationState メソッドと WKApplicationState 定数が含められました。 WKExtension には、バックグラウンド タスクのスケジュールに使用できる 2 つの新しいメソッドも用意されています。
  • WKExtensionDelegate は、アプリの状態の変化を監視し、バックグラウンド タスクの更新を処理するための新しい ApplicationWillEnterForegroundApplicationDidEnterBackgroundHandleBackgroundTasks の各メソッドが含められました。
  • 新しい WKGestureRecognizer クラスが追加され、WKLongPressGestureRecognizerWKPanGestureRecognizerWKSwipeGestureRecognizerWKTapGestureRecognizer の種類のジェスチャ認識がウォッチ アプリに提供されます。
  • 新しい WKinterfaceHMCamera クラスは、任意の HomeKit に接続されている IP カメラ用のインターフェイスを提供します。
  • 新しい WKInterfaceInlineMovie クラスを使用すると、ユーザーがタップしたときに実行中のムービーに置き換えられるムービー "ポスター" をアプリに表示できます。
  • 新しい WKInterfacePaymentButton クラスを使用すると、アプリは、タップされたときに支払い要求を開始する Apple Pay ボタンを UI に表示できます。
  • 新しい WKInterfaceSCNScene クラスは、Apple Watch で SceneKit シーンを表示するためのインターフェイスを提供します。
  • 新しい WKInterfaceSKScene クラスは、Apple Watch で SpriteKit シーンを表示するためのインターフェイスを提供します。

詳細については、「watchOS 3 のクイック操作のテクニック」ガイドをご覧ください。

トレーニング アプリの拡張機能

watchOS 3 の新機能であるワークアウト関連のアプリには、Apple Watch のバックグラウンドで実行する機能があります。 この機能を有効にし、HealthKit データにアクセスできるようにするには、アプリに workout-processing 値を持つ Info.plist ファイルに WKBackgroundModes キーが含まれる必要があります。

さらに、開発者は、ペアリングされた iPhone の iOS アプリ バージョンから watchOS トレーニング アプリを起動できるようになりました。

詳細については、「トレーニング アプリの拡張機能」ガイドをご覧ください。

追加のフレームワークの変更

上記の主要なフレームワークの変更と追加に加えて、Apple は watchOS 3 で多くの追加のマイナー フレームワークの変更も行いました。

詳細については、その他のフレームワークの変更に関するガイドをご覧ください。

非推奨 API

watchOS 3 では、次の API は非推奨となりました。

  • UIKit の UILocalNotification クラスは非推奨となり、ユーザー通知フレームワークに置き換える必要があります。

非推奨と変更の完全な一覧については、Apple の watchOS 2.2 と watchOS 3.0 API の相違点に関するドキュメントをご覧ください。