SKPayementQueue: восстановление транзакций завершается без вызова "updatedTransactions" в конфигурации выпуска, но не отладки конфигурации

Я отлаживаю восстановление транзакций, и в моей конфигурации отладки все работает нормально:

IE Я вызываю:

  [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

через некоторое время queueCalls:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

и через некоторое время он вызывает:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {

и все счастливы.

НО в моей конфигурации выпуска я никогда не вижу вызова обновленных транзакций, и поэтому я никогда не восстанавливаю покупки.

возможно связанный, после попытки восстановления, и он не работает. Я перезапускаю приложение, и я обнаружил, что не получаю ответа, когда я спрашиваю у магазина список продуктов.

Ответ 1

Это условие ошибки не имеет ничего общего с конфигурацией. Это прерывистая ошибка в магазине.

Ответ 2

Карл, как вы сказали, кажется, это прерывистая ошибка. Тем не менее, я также выяснил, что этого не происходит (или, по крайней мере, я еще не видел его), если я тестирую его с помощью US Store. Я использую тест-тест в Великобритании, и сегодня он терпел неудачу каждый раз. Создал пользовательский тестовый пользователь США, и после автоматического переключения в американский магазин он работает отлично. Это не исправление, но может быть полезно;)

Ответ 3

Вы добавляете свой платежный объект в очередь оплаты таким образом?

SKPayment * платеж = [SKPayment paymentWithProductIdentifier: "Идентификатор вашего продукта" ]; [[SKPaymentQueue defaultQueue] addPayment: платеж];

Если вы используете этот способ, то UpdateTransactions вызывается сразу после добавления объекта платежа в очередь оплаты. Вам не нужно его явно указывать. Он помещен в комплекте магазина.