次の方法で共有


iOS 10 の概要

新しい iOS 10 SDK で、Apple は、開発者が新しいカテゴリのアプリや機能を作成できるようにする新しい API とサービスを追加しました。 iOS アプリでは、メッセージ、Siri、電話、マップ アプリを拡張して、以前は使用できなかった豊富で魅力的な機能をエンド ユーザーに提供できるようになりました。

iOS 10 の詳細については、Apple の iOS とアプリに関するドキュメントを参照してください。

iOS 10 の新機能

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

True Tone ディスプレイへの適応

Apple の True Tone ディスプレイ テクノロジは、iOS デバイスの環境光センサーを使用して、現在の照明条件に合わせてディスプレイの色と輝度を動的に調整します。 iOS 10 は、アプリの Info.plist ファイルに追加できる新しい UIWhitePointAdaptivityStyle キーを提供し、True Tone が標準のカラー シフトを適用する方法を制御します。

使用可能な値は次のとおりです。

  • UIWhitePointAdaptivityStyleStandard既定値 - 標準のホワイト ポイント適応性を使用します。
  • UIWhitePointAdaptivityStyleReading - 読み取りに重点を置いたアプリに使用されます。
  • UIWhitePointAdaptivityStyleGame - ゲームに重点を置いたアプリに使用されます。
  • UIWhitePointAdaptivityStyleVideo - 動画に重点を置いたアプリに使用されます。
  • UIWhitePointAdaptivityStylePhoto - 環境のホワイト ポイント調整よりも色忠実度が重要な写真に重点を置いたアプリに使用されます。

App Extension

Apple は、iOS 10 でいくつかの新しい App Extension ポイントを提供しています。

  • Call Directory
  • Intents と Intents UI
  • [メッセージ]
  • Notification Content
  • Notification Services
  • Sticker Pack

さらに、サード パーティの Keyboard App Extension には、次の拡張機能があります。

  • UITextDocumentProxy クラスの新しい DocumentInputMode プロパティは、ドキュメントの入力言語を判別し、キーボード拡張機能をその言語に合わせることができます。
  • 新しい HandleInputModeList メソッドを使用すると、キーボード拡張機能によって、タップされている地球儀キーに応答してシステムのキーボード ピッカー メニューを表示できます。

詳細については、Microsoft の拡張機能の概要メッセージ アプリの統合プロアクティブな候補の概要SiriKit の概要ユーザー通知の概要に関するページと、Apple のApp Extension のプログラミング ガイドに関するページを参照してください。

アプリ検索の機能強化

iOS 10 の Core Spotlight は、アプリ検索に次のようないくつかの拡張機能を提供します。

  • クラウドソースのディープリンク人気度 (差分プライバシー) - 検索結果でディープリンクされたアプリ コンテンツを促進する方法を提供します。
  • アプリ内検索 - 新しい CSSearchQuery クラスを使用して、メール、メッセージ、メモ アプリの動作に似たアプリ内 Spotlight 検索機能を提供します。
  • 検索の継続 - ユーザーが Spotlight または Safari で検索を開始し、アプリを開き、その検索を続けられるようにします。
  • 検証結果の視覚化 - Apple の App Search API 検証ツールを使用すると、Web サイトのマークアップの視覚的な表現と、テスト実行時のディープ リンクが表示されるようになりました。
  • メッセージ アプリの画像共有 - メッセージ内で (メッセージ App Extension を介して) 共有するために提供される一般的なアプリ内イメージを Spotlight 検索に表示できるようにします。

詳細については、アプリ検索の機能強化に関するガイドを参照してください。

Apple Pay の機能強化

Apple は iOS 10 の Apple Pay に対していくつかの機能強化を行いました。これにより、ユーザーは Web サイトおよび Siri や マップとのやりとりを通じて安全な支払いを行うことができます。

iOS 10 では、動的支払いネットワークと新しいサンドボックス テスト環境をサポートするために、iOS と watchOS の両方で動作するいくつかの新しい API が追加されました。

さらに、PassKit フレームワークは、UIKit 外部で Apple Pay をサポートし、カード発行者がアプリ内からカードを提示できるように拡張されています。

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

代替アプリ アイコン

Apple は、アプリがそのアイコンを管理できるようにする複数の拡張機能を iOS 10.3 に追加しました。

  • ApplicationIconBadgeNumber - Springboard でアプリ アイコンのバッジを取得または設定します。
  • SupportsAlternateIcons - true の場合、アプリにはアイコンの代替セットがあります。
  • AlternateIconName - 現在選択されている代替アイコンの名前を返すか、プライマリ アイコンを使用している場合は null を返します。
  • SetAlternameIconName - アプリのアイコンを特定の代替アイコンに切り替えるには、このメソッドを使用します。

詳細については、代替アプリ アイコンに関するガイドを参照してください。

CallKit の概要

iOS 10 の新しい CallKit API を使うと、VOIP アプリを iPhone UI と統合し、使い慣れたインターフェイスとエクスペリエンスをエンド ユーザーに提供できるようになります。 この API を使うと、ユーザーは iOS デバイスのロック画面から VOIP 通話を表示および操作し、電話アプリの [お気に入り][最近] のビューを使って連絡先を管理することができます。

さらに、CallKit API では、電話番号を名前 (着信 ID) に関連付けたり、番号をブロックする必要があるとき (着信拒否設定) をシステムに通知したりできる App Extension を作成できます。

詳細については、Callkit の概要に関するガイドを参照してください。

メッセージ アプリの統合

iOS 10 は、メッセージ アプリと統合され、ユーザーに新機能を提供する Xamarin.iOS ソリューションにメッセージ App Extension を含めることができます。 この拡張機能を使うと、テキスト、ステッカー、メディア ファイル、対話型メッセージを送信できます。 2 種類の Message App Extension を使用できます。

  • Sticker Pack - ユーザーがメッセージに追加できるステッカーのコレクションが含まれています。 Sticker Pack は、コードを記述せずに作成できます。
  • iMessage App - ステッカーの選択、テキストの入力、メディア ファイルの追加 (オプションの型変換を含む) や対話メッセージの作成、編集、送信を行うカスタム ユーザー インターフェイスをメッセージ アプリ内に表示できます。

詳細については、メッセージ アプリの統合に関するガイドを参照してください。

News Publisher の機能強化

iOS 10 で Apple は、大手雑誌や新しい組織からブロガーや独立系出版社まで、誰でもサインアップして製品を提供し、Apple News アプリにコンテンツを配信できるようにします。 詳細については、Apple のニュース リソースに関するドキュメントを参照してください。

Haptic フィードバックの提供

iPhone 7 と iPhone 7 Plus で Apple は、新しい触覚応答を含めています。これにより、ユーザーを物理的に関与させる方法が追加されています。 新しい触覚フィードバック オプションを使用して、ユーザーの注意を引き、アクションを強化します。

いくつかの組み込み UI 要素は、ピッカー、スイッチ、スライダーなどの触覚フィードバックを既に提供しています。 iOS 10 は、UIFeedbackGenerator クラスの具象サブクラスを使用して、プログラムによって触覚をトリガーする機能を追加しました。

詳細については、触覚フィードバックの提供に関するガイドを参照してください。

プロアクティブな候補

iOS 10 は、システムが適切な時間にユーザーに役立つ情報を事前に自動的に提示できるようにすることで、アプリへのエンゲージメントを促進する新しい方法を提供します。 iOS 9 が Spotlight、Handoff、Siri からの提案を使用してアプリにディープ検索を追加する機能を提供したのと同様に、iOS 10 では、アプリは次の場所からシステムによってユーザーに表示する機能を公開できます。

  • アプリ スイッチャー
  • ロック画面
  • CarPlay
  • マップ
  • Siri のインタラクション
  • QuickType の候補

アプリは、NSUserActivity、Web マークアップ、Core Spotlight、MapKit、メディア プレーヤー、UIKit などのテクノロジのコレクションを使用して、この機能をシステムに公開します。

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

アプリ レビューの要求

iOS 10.3 の新機能である RequestReview() メソッドを使うと、iOS アプリからユーザーに評価やレビューを求めることができます。 このメソッドはユーザー エクスペリエンスで意味のある任意の時点で呼び出すことができますが、レビュー プロセスは App Store ポリシーによって管理および処理されます。 その結果、このメソッドはアラートを表示する場合も表示しない場合もあり、ボタンをタップするなど、ユーザーの操作に応答して呼び出すべきではありません。

詳細については、アプリ レビューの要求に関するガイドを参照してください。

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

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

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

詳細については、セキュリティとプライバシーの強化に関するガイドを参照してください。

SiriKit

iOS 10 の新機能である SiriKit を使用すると、Xamarin.iOS アプリは、iOS デバイスで Siri を使用してユーザーがアクセスできるサービスを提供できます。 この機能は、新しい IntentsIntents UI フレームワークを使用して、1 つ以上の App Extension で提供されます。

SiriKit は次のサービス ドメインをサポートします。

  • 音声通話またはビデオ通話
  • 乗車予約。
  • トレーニングの管理。
  • メッセージング。
  • 写真の検索。
  • 支払いの送受信。

ユーザーが Siri に App Extension のサービスのいずれかが関与する要求を行うと、SiriKit は拡張機能に、サポート データと共にユーザーの要求を説明する Intent オブジェクトを送信します。 その後、App Extension は、指定された Intent に対して適切な Response オブジェクトを生成し、拡張機能が要求を処理する方法を詳しく説明します。

通常、Siri はすべてのユーザー操作を処理しますが、App Extension は Intent UI フレームワークを使用して、アプリのブランディングと追加情報を特徴とする豊富なカスタム ユーザー インターフェイスを提示できます。

詳細については、SiriKit の概要に関するガイドを参照してください。

音声認識

iOS 10 には新しい Speech API が含まれており、アプリでこれを使うと、継続的な音声認識をサポートし、(ライブまたは録音されたオーディオ ストリームから) 音声を文字起こしできるようになります。

音声認識には Apple のサーバー上のデータの転送と一時的な保存が必要であるため、アプリは、その Info.plist ファイルに NSSpeechRecognitionUsageDescription キーを含めて SFSpeechRecognizer.RequestAutorization メソッドを呼び出すことによって、認識行うユーザーのアクセス許可を要求する必要があります

詳細については、音声認識の概要に関するガイドを参照してください。

ユーザーへの通知

iOS 10 の新機能であるユーザー通知フレームワークにより、ローカルおよびリモート通知を配信し、処理できるようになります。 このフレームワークを使うと、アプリまたはアプリ拡張機能で場所や時刻などの一連の条件を指定して、ローカル通知の配信をスケジュールできます。

さらに、アプリまたは拡張機能は、ユーザーの iOS デバイスに配信されるローカル通知とリモート通知の両方を受信できます (それらを変更できる可能性もあります)。

新しいユーザー通知 UI フレームワークを使用すると、アプリまたは App Extension は、ローカル通知とリモート通知がユーザーに表示されたときに、両方の外観をカスタマイズできます。

詳細については、ユーザー通知フレームワークに関するガイドを参照してください。

ビデオ サブスクライバー アカウント

iOS 10 の新機能であるビデオ サブスクライバー アカウント フレームワークを使用すると、認証されたストリーミングまたはビデオ オンデマンドをサポートするアプリは、エンド ユーザーのシングル サインイン エクスペリエンスを使用して、ケーブルまたは衛星テレビ プロバイダーによる認証を行うことができます。

広色域

iOS 10 では、Core Graphics、Core Image、Metal、AVFoundation などのフレームワークを含め、システム全体で、拡張範囲のピクセル形式と広色域の色空間のサポートを拡張しました。 グラフィックス スタック全体にこの動作が提供されているので、ワイド カラー ディスプレイを備えたデバイスのサポートがさらに容易になります。

さらに、UIKit は新しく拡張された sRGB 色空間で動作するように変更されており、パフォーマンスを大幅に低下させることなく、広い色域で簡単に混色させることができます。

Apple は、幅広い色を使用する場合に、次のベスト プラクティスを提供しています。

  • UIColor は sRGB 色空間を使用し、値が 0.0 から 1.0 の範囲にクランプされなくなりました。 アプリが以前のクランプ動作に依存している場合は、iOS 10 用に変更する必要があります。
  • iPad Pro でカスタム UIView 描画を実行する場合、描画環境は sRGB 色空間用に構成されます。
  • アプリが UIImages のカスタム レンダリングを実行する場合は、新しい UIGraphicsImageRender クラスを使用して、拡張範囲または標準範囲の形式の使用を指定します。
  • Core Graphics や Metal などの低レベルの API を使用して画像処理を提供する場合、開発者は 16 ビット浮動小数点値をサポートする拡張範囲の色空間とピクセル形式を使用する必要があります。 必要に応じて、開発者はカラー コンポーネントの値を手動でクランプする必要があります。
  • Core Graphics、Core Image、Metal Performance Shaders はすべて、2 つの色空間の間で変換するための新しいメソッドを提供します。

詳細については、ワイド カラーの概要に関するガイドを参照してください。

ウィジェットの機能強化

Apple は、新しい iOS 10 のロック画面に存在するどのような背景でもウィジェットが確実に美しく見えるように、ウィジェット システムにいくつかの機能強化を導入しました。 NotificationCenterVibrancyEffect プロパティは非推奨となり、新しい WidgetPrimaryVibrancyEffect プロパティまたは WidgetSecondaryVibrancyEffect プロパティに置き換えられました。 さらに、ウィジェットに NCWidgetDisplayMode プロパティが含まれるようになりました。これにより、開発者は利用可能なコンテンツの量を記述でき、ユーザーはコンテンツを展開および折りたたむことができます。

詳細については、検索とホーム画面ウィジェットの機能強化に関するガイドを参照してください。

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

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

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

非推奨 API

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

  • iOS 10 用 CloudKit では、CKDiscoverAllContactsOperationCKDiscoveredUserInfoCKDiscoverUserInfosOperationCKFetchRecordChangesOperation クラスは非推奨になりました。 代わりに、CKDiscoverAllUserIdentitiesOperationCKUserIdentityCKFetchRecordZoneChangesOperation クラス (レコード共有をサポート) を使用します。
  • いくつかの CKSubscription API (ゾーンベースのサブスクリプションやクエリベースのサブスクリプションなど) は非推奨となりました。 代わりに CKRecordZoneSubscription API と CKQuerySubscription API を使用してください。
  • ユビキタス コンテンツに関連する NSPersistentStoreCoordinator シンボルは非推奨となりました。
  • ADBannerViewADInterstitialAdUIViewController クラスの関連シンボルは非推奨になりました。
  • 浮動小数点値に関連する SKUniform シンボルは非推奨になりました。
  • UIKit の UILocalNotificationUIMutableUserNotificationActionUIMutableUserNotificationCategoryUIUserNotificationActionUIUserNotificationCategoryUIUserNotificationSettings クラスは非推奨になりました。 代わりにユーザー通知フレームワークを使用してください。
  • HandleActionForLocalNotificationHandleActionForRemoteNotificationDidReceiveLocalNotificationDidReceiveRemoteNotification WatchKit メソッドは非推奨になりました。 代わりに、HandleActionForNotificationDidReceiveNotification メソッドを使用してください。
  • WKExtensionDelegateDidReceiveLocalNotificationDidReceiveRemoteNotification メソッドは非推奨になりました。 適切なメソッドを実装し、UNUserNotificationCenter オブジェクトの Delegate プロパティに割り当てる UNUserNotificationCenterDelegate のインスタンスを作成してください。
  • ゲーム センター アプリは非推奨となり、iOS から削除されました。 アプリで GameKit を使用する場合は、ランキングなどの GameKit 機能を表示するための独自のインターフェイスを提示する必要があります

非推奨の完全な一覧については、Apple の iOS 9.3 から iOS 10.0 への API の相違点に関するドキュメントを参照してください。