Восстановление покупки в приложении iOS возвращает много транзакций

Когда я восстанавливаю свою предыдущую покупку. Storekit звонит updateTransations с большим количеством предыдущих транзакций. Не знаю, почему он возвращает такие большие суммы, как 100, 200, 245, 360, 650, которые кажутся случайными при каждом восстановлении.

Это происходит только в песочнице? Если нет, то какими должны быть критерии выбора товара. У меня есть много товаров с одинаковым идентификатором продукта?


person Youssef Henry    schedule 06.06.2012    source источник
comment
как восстановить купленный товар? пожалуйста, проверьте мой ответ здесь   -  person Malek_Jundi    schedule 06.06.2012


Ответы (1)


Было много жалоб на использование updateTransactions для восстановления. Приведенный ниже код будет работать, но он требует, чтобы пользователь ввел свое имя пользователя и пароль. (на данный момент разработчики вставили это в вызов IBAction, для которого требуется кнопка)

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

Затем вызывается приведенный ниже делегат.

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
     for (SKPaymentTransaction *transaction in queue.transactions) 
    {
        if ([myItem.productID isEqualToString:transaction.payment.productIdentifier])
        {
            myItem.purchased = YES;
        }
    }
}

Я хочу знать, как это сделать, не помещая кнопку «восстановить» в мой интерфейс, если нет элементов, которые необходимо восстановить.

person whatchamacallit    schedule 27.06.2012