🙌
AppIntentsでインテントを実行する前にユーザーに尋ねる
requestConfirmation()とは
この関数を使うとPerform()を実行する前にDialogなどを出してユーザーに尋ねることができる。
以下のビデオで例として紹介されていていたのは、本を買うというインテントの途中で値段や本の情報のView,Dialogとともに、注文するかを決定するボタンを表示するものだった。(26:23)
購入の処理をPerformする前にユーザーへの確認を挟むなど、ワンクッション置きたい時に便利な関数。
コードの内容
iOS18からはrequestConfirmation(conditions:actionName:dialog:)の形で書く必要がある。
try await requestConfirmation(conditions: [], actionName: .`continue`, dialog: "Do you want to save this image?")
conditions
actionName
アクションの名前を選択する。この名前がボタンに表示もされる。名前はStringで自由に決められるのではなく、ConfirmationActionNameというテンプレートのようなものの中から選ぶ。
dialog
表示、読み上げられる文章を指定する。
Discussion