Ciao ho bisogno di implementare la funzionalità di ripristino in InApp-acquisto, per questo ha fatto un pulsante "Ripristina" che si chiama il metodopaymentQueue: (SKPaymentQueue *) updatedTransactions coda: (NSArray *) operazioni non viene chiamato mentre restoreCompletedTransactions
-(void)restorePurchasedProductsWithProductId:(NSString*)prodID
{
_productIdsArray = [[NSMutableArray alloc] init];
productID = [prodID retain];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
Mi dà un popup per inserire la password di apple id.E dopo aver fatto ciò non accade nulla.
ho letto da qualche parte che si chiama
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
così ho fatto come questo
- (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;
}
}
}
Ma il problema è il metodo di cui sopra non sta chiamando né questo
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
né
-(void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
Ho incluso anche i protocolli necessari,
Può un corpo aiutarmi perché questi metodi delegato non chiedono processo di ripristino. Lo sto provando con un account di prova.