Ich habe mehrere nicht-konsumierbare inApps.
Die Zahlung wird einmal durchgeführt (korrekt: SKPaymentTransactionStatePurchased), dann wird der Download der inApp korrekt durchgeführt (und beendet) und zum Schluss rufe ich
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
Die Transaktionen verbleiben jedoch in der Warteschlange... warum? Sollten sie nicht entfernt werden? Auch das Folgende wird nicht aufgerufen:
- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions
Ich habe auch versucht, in meine Methode finishtransaction zu implementieren:
for (SKPaymentTransaction *aTransaction in [[SKPaymentQueue defaultQueue] transactions])
{
[[SKPaymentQueue defaultQueue] finishTransaction:aTransaction];
}
(für den Fall, dass das Transaktionsobjekt, das ich versucht habe zu beenden, nicht das richtige war, aber dies schlägt auch fehl, die Transaktionen zu entfernen - nun, die meisten der Zeit, manchmal entfernt es, aber das Verhalten ist inkonsistent, ich kann nicht herausfinden, warum sie entfernt werden, die wenigen Male, die sie tatsächlich entfernt werden)