Почему paymentQueueRestoreCompletedTransactionsFinished не вызывается после возобновления прерванного восстановления IAP?

Моя реализация восстановления, кажется, в основном работает.

От paymentQueue:updatedTransactions: Я блокирую пользовательский интерфейс с помощью модального индикатора активности, отключаю запросы к нашему серверу для каждой восстановленной транзакции, получаю ответы, в которых сообщается идентификатор соответствующего (не расходуемого) элемента, который необходимо загрузить. Я закрываю сделку. В заключение, paymentQueueRestoreCompletedTransactionsFinished или же restoreCompletedTransactionsFailedWithError: мой сигнал, чтобы удалить индикатор активности и, если это не так. начать загрузку. Все идет нормально. Оно работает.

Если процесс восстановления прерывается (приложение закрывается), paymentQueue:updatedTransactions: все еще делает свою работу нормально, когда приложение запускается снова, но я не получаю paymentQueueRestoreCompletedTransactionsFinished событие. Таким образом, мне не хватает подсказки для удаления индикатора активности и начала загрузки.

Кто-нибудь знает, что может быть причиной этого?

Мой обходной путь - игнорировать paymentQueueRestoreCompletedTransactionsFinished в целом и вместо того, чтобы использовать paymentQueue:removedTransactions: отслеживать количество элементов в очереди, действуя соответственно, когда элементов больше нет. Не кажется мне особенно элегантным, хотя открывает возможность отображать более информативное сообщение о прогрессе.

0 ответов

Другие вопросы по тегам