Привет, мне нужно реализовать функцию восстановления в Inapp -Purchase, для этого сделал кнопку «Восстановить», которая вызывает метод
-(void)restorePurchasedProductsWithProductId:(NSString*)prodID
{
_productIdsArray = [[NSMutableArray alloc] init];
productID = [prodID retain];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
Это дает мне всплывающее окно для ввода пароля Apple ID. И после этого ничего не происходит.
Я где-то читал, что он вызывает
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
Так что я сделал это
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
NSLog(@"paymentQueue");
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
NSLog(@"restored");
[self restoreTransaction:transaction];
break;
default:
break;
}
}
}
Но проблема в том, что вышеуказанный метод не вызывает ни этот
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
ни
-(void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
Я также включил необходимые протоколы,
Может ли кто-нибудь помочь мне, почему эти методы делегата не вызывают процесс восстановления. Я пробую это с тестовой учетной записью.