INSearchForAccountsIntent response not being presented by Siri as on-screen results. Instead says "must open app for that".

I'm attempting to use Sirikit's INSearchForAccountsIntent intent. I've setup the app so that it handles this intent, and configured a basic handler to provide the requested accounts.


Problem: whatever response I generate, even if it's predefined mock data to surface to siri as "found accounts", will not be shown as results. Instead, Siri responds "you'll have to open the app for that".


Siri will react to the question, the debugger will enter the handler code, the func handle(intent: INSearchForAccountsIntent, completion: @escaping (INSearchForAccountsIntentResponse) -> Void) will be called, a valid response will be generated but this will NOT be presented by Siri as a result.


I've tried this on device, since Simulator simply won't recognize the intent at all.


Why would a properly formatted INSearchForAccountsIntentResponse will not be recognized by Siri and shown as a result?


I have found no documentation or sample code AT ALL in the whole of the interwebs that would point to the problem.

This is being tested on an iPhone 7 test device running iOS 11.1 beta 4, compiled using Xcode 9.1 beta 2.

Replies

I'm getting the same result described above: the handle method gets called, a valid response gets generated and then Siri responds that 'you'll have to open the app for that'. Any suggestions to get Siri to display the response directly?

I finally got my implementation to work. The problem I had was a (silently failing) invalid INBalanceAmount within the INPayment account I was returning within my INSearchForAccountsIntentResponse.

Specifically, once I changed from:

INBalanceAmount(amount: 0.01, currencyCode: "$")


To:


INBalanceAmount(amount: 0.01, currencyCode: "USD")


Everything just worked.

The currencyCode parameter of INBalanceAmount needs to be an ISO 4217 currency code. Full list of codes is here: https://en.wikipedia.org/wiki/ISO_4217 in case you are working with non-USD.


Hope that helps someone.

Hi,

I want to implement INSearchForAccountsIntentHandling, i added SearchINtent in info plist as well as custom class to implent intents but when i ask siri to show account balance it says app has not set up yet.

Could you pls help me , how did you implent search Account details in your app?