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