First of all, thanks for the replies and am glad it is not just me that is struggling
> I am running into similar issues that you are, the intent goes through the resolve methods but
> never reaches `confirm` or `handle` and Siri says there was a problem.
Paying via <bill type> is still broken in Beta 2. I have an open Radar and at Apple's request just sent Apple sysdiagnose logs this morning...
The following utterances work for me (or at least the success code paths do):
PAY MY <payee name> BILL
PAY MY <payee name> BILL on FRIDAY
PAY MY <payee name> BILL NEXT TUESDAY
PAY <amount> ON MY <payee name> BILL
Pretty much everything else I try is broken in some form or another. I will list out my open Bill Payment Radars in case that helps anyone:
- 30215664 - Siri response for Payee Not found is Incorrect
- 30233670 - Attempting to pay a bill using SiriKit when supplying only a bill type fails (there is a problem with <app name>)
- 30490472 - Unable to remove default UI from Intent UI Extension for INPayBillIntent
- DUPE 30234224 - Disambiguation for Bill Payment Transaction Amount is Broken
- DUPE 30236902 - INPayBIllIntent Resolution Methods Are Called in Bad Order
- CLOSED AS NOT NEEDED - 30216490 - SiriKit INBillTypeResolutionResult Needs Disambiguation Return Value
Resolution callbacks are still coming in the wrong order (in my opinion). Payee name and bill type have to be the first 2, since all the other resolution callbacks depend on you knowing what the bill is (and those 2 calls are the ways to select the bills).
Not having a disambiguation call for bill type is ridiculous - ever hear of 2 car payments or systems that classify all utility bills (electric, gas, water) into a single category (our system does - only 16 million consumers - no biggie).
resolveDueDateForPayBill: is busted in Beta 2, as adding "due in MARCH" just sends a NIL value for due date
resolveFromAccountForPayBill: is busted in Beta 1&2, returning anything gives me a Siri error (there is a problem with <app name>)
Also can't figure out how to remove the default labels and fields. There is no new variable in INUIHostedViewSiriProviding, and setting displaysPaymentTransaction=true doesn't remove the Apple fields.
They have at least updated the doc pages on the resolution calls to at least help you try to figure out what they want your code to do inside those calls. But even with that it is a slog to try to get anything working.
The whole implementation of Siri Bill Payment capability seems very buggy and unbaked at this point. I never thought I would point to the "stability" of Pay a person in iOS 10.0 Beta as being better than anything (but it is light-years better than current bill payment implementation).