paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)Transaktionen wird nicht genannt, während restoreCompletedTransactions
Hallo ich implementieren müssen, um die Funktionalität wiederherzustellen, die im Inapp-Kauf, für die dies eine Schaltfläche "Wiederherstellen", die aufrufende Methode
-(void)restorePurchasedProductsWithProductId:(NSString*)prodID
{
_productIdsArray = [[NSMutableArray alloc] init];
productID = [prodID retain];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
Es gibt mir ein popup zur Eingabe des Passwort der apple-id.Und nach tun, dass nichts passiert.
Ich habe irgendwo gelesen, dass es Anrufe
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
Also Tat ich, wie diese
- (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;
}
}
}
Aber das problem ist die oben genannte Methode nicht aufrufen weder diese
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
noch
-(void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
Ich habe auch die erforderlichen Protokolle,
Können einige Körper mir helfen, warum diese delegate-Methoden aufrufen nicht für ein restore-Prozess.
Ich versuche es mit test account.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sicherstellen, dass die Klasse, die
paymentQueueRestoreCompletedTransactionsFinished:
undpaymentQueue: restoreCompletedTransactionsFailedWithError:
ist die Registrierung als Beobachter für Ihre Zahlung der Warteschlange.Wenn du geschrieben hast, diesen code in eine
UIViewController
sind, versuchen Sie, diese in IhremviewDidLoad
:und in
viewDidDisappear
:Ich bin auch vor einem problem wie einer;
Nach Forschung & änderungen, ich erkannte, dass:
Methode wird nicht sofort umgesetzt.
Normal, ich check Transaktion.transactionReceipt und schicken Sie es an meinem server und nach alle, die ich senden Sie eine Rückruf-beenden der Transaktion. Endlich habe ich verstanden das problem nicht aufrufen beenden Sie die Transaktion sofort. Wenn ich meinen code, meine app funktioniert.
Interessante Teil war, als ich den test in der sandbox-Umgebung funktioniert alles bestens. Aber in der AppStore-app nicht gut funktioniert. Wenn ich diese änderung, mein problem war gelöst.