Как я могу узнать, добавил ли пользователь свою карту в кошелек iPhone или в кошелек Apple Watch? - PullRequest
0 голосов
/ 27 мая 2020

Мне нужно скрыть кнопку добавления в Apple Wallet, когда пользователь добавил свою карту в iPhone, но оставить ее на экране, только когда она была добавлена ​​в часы. Я исследую метод

func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, didFinishAdding pass: PKPaymentPass?, error: Error?)

, но я не могу найти, где я могу увидеть, какое устройство было добавлено к карте

1 Ответ

0 голосов
/ 27 мая 2020

Вы можете использовать функцию PKLibrary passes(), чтобы получить карты, которые находятся в кошельке iPhone пользователя, а затем проверить, есть ли там соответствующая карта. Чтобы получить карты в кошельке часов, наберите remotePaymentPasses().

Обратите внимание, что ваше приложение должно иметь право просматривать указанную карту, иначе она будет отсутствовать в возвращаемом массиве. Мне не удалось найти много документации по этому поводу, поэтому я открыл TSI с Apple, чтобы попытаться получить дополнительную информацию. Кто-то из команды Apple Pay Wallet вернулся ко мне, вот что они сказали:

Если приложение имеет право просматривать карту, оно может запросить ее через PKPassLibrary - либо с помощью [PKPassLibrary -passesOfType] для карты локально на устройстве или [PKPassLibrary -remotePaymentPasses] для карт на парных часах. Мы рекомендуем приложениям использовать эти методы, чтобы проверять, есть ли на устройстве их платежные талоны, и использовать эту информацию, чтобы скрыть кнопку добавления в кошелек. Обратите внимание: это требует, чтобы приложение имело право просматривать платежный талон. Обычно этим занимается эмитент, поэтому дважды проверьте у эмитента, что они устанавливают связанные идентификаторы приложения для передачи платежа в приложение.

По-прежнему не полностью отвечает на все мои вопросы , но я бы порекомендовал обратиться к эмитенту карты (это следующий шаг, который я предприму).

...