Оплата SiriKit: пользовательский INPerson больше не работает? Ошибка?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Оплата SiriKit: пользовательский INPerson больше не работает? Ошибка?

Сообщение Anonymous »


Я реализовал INPayment, который раньше работал безупречно. Поскольку я обновился до iOS 17, все работает не так, как раньше. Чтобы определить получателя платежа, я отправляю расшифровку Siri на свой сервер и ищу пользователя, а затем возвращаю информацию об этом пользователе для заполнения пользовательского объекта INPerson(). Затем я представляю этого нового INPerson пользователю для подтверждения.

funcsolvePayee(для намерения: INSendPaymentIntent, с завершением: @escaping (INSendPaymentPayeeResolutionResult) -> Void) { если пусть получатель = намерение.payee { SiriModel().resolvePayee(params: ["payee": payee.displayName]) { json, данные в если пусть dict = json как? [Строка:Любой], пусть заголовок = dict["заголовок"] как? Нить { переключить заголовок { случай «запрос.успешный»: если let data = dict["data"] как? [Строка:Строка] { пусть получатель = INPerson( personHandle: INPersonHandle(значение: данные["contact_phone"], тип: .phoneNumber), имяКомпоненты: ноль, displayName: data["contact_firstname"]! + " " + data["фамилия_контакта"]!, изображение: INImage(url: URL(строка: data["contact_photo"]!)!)), contactIdentifier: данные["contact_phone"], customIdentifier: данные["contact_id"] ) завершение (INSendPaymentPayeeResolutionResult.confirmationRequired (с: получателем)) } еще { завершение (INSendPaymentPayeeResolutionResult.unsupported (forReason: .noAccount)) } случай «токен.не.обновляемый»: Проваливаться случай «токен.истёк»: завершение (INSendPaymentPayeeResolutionResult.unsupported(forReason: .credentialsUnverified)) по умолчанию: завершение (INSendPaymentPayeeResolutionResult.unsupported (forReason: .noAccount)) } } } } еще { завершение (INSendPaymentPayeeResolutionResult.needsValue()) } } Но когда я добираюсь до метода подтверждения намерения:

func подтверждение (намерение: INSendPaymentIntent, завершение: @escaping (INSendPaymentIntentResponse) -> Void) {} Я вижу, что свойство получателя платежа, связанное с намерением, не является тем, которое я создал, а представляет собой набор совпадений SiriMatches из контактов локальной телефонной книги.

Это никогда не работало так. Есть намек на то, что происходит? Я просмотрел документацию на веб-сайте Apple, чтобы посмотреть, есть ли изменения, но ничего нового. Это ошибка? Я подумываю о расширении поддержки до уровня разработки программного кода. Спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»