Какая версия iOS перестала запрашивать подтверждение Apple ID при вызове «restoreCompletedTransactions»? - PullRequest
0 голосов
/ 14 января 2019

Когда я впервые разработал решение о покупке inapp для приложения для iOS, одной из неприятных вещей было то, что при вызове [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] каждый раз пользователь запрашивал подтверждение своего Apple ID, открывая диалоговое окно со страшным паролем. Я тестировал это на iOS 8 и 9.

Пропустим несколько лет, и теперь я заметил, что в iOS 12.1 при вызове [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] это диалоговое окно не отображается, если пользователь не вышел из своей учетной записи Apple в разделе «Настройки».

Поэтому мне интересно, какая версия iOS перестала показывать это диалоговое окно при каждом вызове этой функции?

Хотелось бы, чтобы у меня была куча тестовых устройств iOS со всеми старыми версиями, но, к сожалению, у меня есть только устройства под управлением iOS 12, поэтому я не могу проверить это самостоятельно.

Причина, по которой я хочу знать, заключается в том, что возможность вызывать этот метод без вызова глупого диалогового окна означает, что я потенциально могу использовать его в качестве фонового метода проверки покупок, совершенных пользователем при запуске / возобновлении приложения. Как только я узнаю, какая версия iOS перестала запрашивать подтверждение Apple ID при каждом вызове для восстановления, я могу добавить условную логику, чтобы сделать это только на той версии iOS или выше.

У меня есть приложение, в котором непотребляемые покупки inapp позволяют загружать пакеты содержимого на устройство. Пользователи часто используют мое приложение на своих устройствах iOS, поэтому в настоящее время им приходится вручную синхронизировать приобретенный контент между устройствами с помощью кнопки «Восстановить покупки». Однако, если я могу позвонить restoreCompletedTransactions в фоновом режиме, чтобы получить список принадлежащих им непотребляемых покупок, я смогу сравнить это с пакетами контента, уже загруженными на их устройство, и, следовательно, автоматически восстановить пакеты контента для покупок, которые они совершили другие устройства. Это то, что я мог делать на Android целую вечность, и пользователи спрашивают, почему приложение не может сделать то же самое на iOS.

(Кстати, я знаю, что способ, рекомендованный Apple, заключается в том, чтобы сохранить квитанцию ​​о покупке от Apple на моем сервере и использовать ее для проверки повторной загрузки контента, но по разным причинам это было невозможно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...