2012-11-15 8 views
6

Ich habe für ein paar Tage mit diesem meinen Kopf gegen die Wand schlagen worden, da alles verwendet gut zu funktionieren, aber jetzt, da ich zu Mountain Lion verschoben haben, XCode 4.5 und iOS5.1 und iOS6, dieses Problem kam mit und ich dachte, es könnte mit dem Konfigurationswechsel zusammenhängen.restoreCompletedTransactions nie ruft updatedTransactions in StoreKit

Ich rufe [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] und Momente später paymentQueueRestoreCompletedTransactionsFinished wird aufgerufen, aber es gibt kein Anzeichen für einen Anruf zu updatedTransactions. Es ist so, als ob die Anfrage im Weltraum verloren gegangen wäre.

Ich habe auch ein möglicherweise damit verbundenes Problem mit Käufen. Wenn ich versuche, einen Artikel mit makePurchase zurückzukaufen, was von dem, was ich verstehe, auch zu einem SKPaymentTransactionStateRestored führen sollte, bekomme ich die "Already purchased.. download" Nachricht gefolgt von der gefürchteten "Cannot connect to iTunes store..." mit einem "PaymentTransactionStateFailed" Fehlercode 2. Was ist Fehlercode 2?

Bei dem Artikel handelt es sich um eine normale, nicht konsumierbare In-App-Bestellung, und dies geschieht beim Testen des StoreKit im Sandbox-Modus.

Ich sehe andere in diesem Forum mit ähnlichen Problemen mit der einzigen Antwort, dass dies ein intermittierender Bug ist ich das StoreKit. Ist das immer noch der plausibelste Fall?

Alle Nachrichten dazu würden geschätzt werden.

+0

Ich sehe, dass diese Frage ein Jahr alt ist. Ich habe genau das gleiche Problem wie oben beschrieben. Ich möchte die gekauften Artikel, die von updatedTrasactions zurückgegeben wurden, lokal speichern, um sie beim Start der Anwendung abzurufen. Zusätzlich habe ich einen neuen Testbenutzer hinzugefügt, um den Fall "gebrochenen Testbenutzer" zu lösen und immer noch keine Freude. Ich habe den Beobachter in viewDidLoad gestartet: [[SKPaymentQueue defaultQueue] addTransactionObserver: self]; Bitte helfen Sie uns !!! – Spidey

Antwort

0

paymentQueue:updatedTransactions: wird nur aufgerufen, wenn sich der Status der Transaktionen geändert hat.

Wenn es keine vorherigen Transaktionen sind [[SKPaymentQueue defaultQueue] restoreCompletedTransactions] nicht den Status dieser Transaktionen ändern (weil es keine gibt) so paymentQueueRestoreCompletedTransactionsFinished ist ohne Aufruf zu paymentQueue:updatedTransactions:

Ich bin auch ein möglicherweise ähnliches Problem mit callte mit Einkäufe. Wenn ich versuche, einen Artikel mit makePurchase zurückzukaufen, was nach meinem Verständnis auch zu einem SKPaymentTransactionStateRestored führen sollte, bekomme ich die Meldung "Bereits gekaufter .. Download", gefolgt von dem gefürchteten "Ich kann mich nicht mit iTunes verbinden ..." mit einem " PaymentTransactionStateFailed "Fehlercode 2. Was ist Fehlercode 2?

Nach einer erfolgreichen Transaktion müssen Sie [[SKPaymentQueue defaultQueue] finishTransaction:] aufrufen.

Verwandte Themen