Восстановление транзакций не вызывает очередь платежей - PullRequest
0 голосов
/ 17 мая 2018

** Редактировать: я сузил причину покупки с размещенным на Apple контентом. Обычные покупки, которые не являются размещенным контентом, восстанавливаются должным образом.

Я не могу восстановить покупки в моем приложении. Покупки работают совершенно нормально. Однако, когда я использую функцию, которая вызывает:

SKPaymentQueue.default().restoreCompletedTransactions()

Очередь платежей никогда не называется

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    //Not called!
}

PaymentQueue не имеет проблем для обычных покупок.

Похоже, что восстановление завершается должным образом, потому что после запуска выше .restoredCompletedTransactions я немедленно получаю эту функцию.

func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) {       
print ("This works")  
}

Я также проверил следующее и не получил ошибку:

func paymentQueue(_ queue: SKPaymentQueue, restoreCompletedTransactionsFailedWithError error: Error) 

SKPaymentQueue.add (self) вызывается задолго до restoreCompletedTransactions, поэтому это также не должно быть проблемой.

Что может привести к тому, что IAP работает нормально, но не восстановление? Я тестирую его с физического устройства и использую учетную запись «песочницы».

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

Любая помощь будет очень признательна! Это убивает меня здесь.

1 Ответ

0 голосов
/ 18 мая 2018

Так что я как-то разобрался.

Я удалил все входящие в приложение покупки из iTunes Connect и воссоздал их (с размещенным контентом), и это устранило проблему.

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

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