SiriとマップがアプリのIntents App Extensionとやり取りできるよう、ユーザーに許可を求めます。
概要
SiriとマップがIntents App Extensionとやり取りするには、まずユーザーの許可を得る必要があります。Extensionからではなく、iOSアプリから許可を求めます。ユーザーから与えられた許可は、iOSアプリとwatchOSアプリの両方に適用されます。
メモ
アプリがサポートするのがSiriショートカットのみの場合は、許可を求めないでください。
許可を求める手順は以下の通りです。
-
「Siri」ケイパビリティを有効にします。許可を求める処理が正しく行われるためには、iOSアプリまたはWatchKit Extensionで「Siri」ケイパビリティが有効になっている必要があります。「Siri」ケイパビリティの有効化については、Intents App Extensionの開発を参照してください。
-
Info.plistファイルを構成します。
NSSiri
キーを、iOSアプリのUsage Description Info
ファイルに含めます。値として、アプリがSiriKitとどのような情報をやり取りするか説明する文字列を入力してください。たとえばワークアウトアプリの場合、「ワークアウトの情報がSiriに送られます。」という文字列を与えます。このキーは必ず含めてください。.plist -
iOSアプリから許可を求めます。iOSアプリ実行中のある時点で、
INPreferences
(英語)のrequest
(英語)クラスメソッドを呼び出します。Siri Authorization(_:)
アプリの許可状況が確定していない状態でiOSアプリからrequest
(英語)メソッドを呼び出すと、システムはユーザーに対し、アプリを許可するよう求めるメッセージを表示します。このアラートには、アプリのInfo
ファイルのNSSiri
キーで指定した説明文が含まれます。ユーザーはアプリからのリクエストを許可または拒否します。アプリの許可状況は「設定」アプリでいつでも変更できます。アプリの許可状況はシステムに記憶されるので、これ以降にrequest
(英語)メソッドを呼び出す際、ユーザーに対して再びプロンプトが表示されることはありません。
メモ
ユーザーが初めてIntents Extensionを使うときに、ユーザーに許可を求める処理をSiriとマップがサポートする場合があります。具体的には、Extensionをユーザーが使おうとした時点でユーザーの許可状況がまだ確定していなければ、マップがExtensionに代わって自動的に許可を求めます。