2009-11-13 19 views
10

我調試恢復交易,並在我的調試配置一切正常工作:SKPayementQueue:恢復交易完成且沒有調用釋放配置「updatedTransactions」,但不能調試配置

IE我打電話:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

晚些時候的queueCalls:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 

和一段時間後,它調用:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { 

大家都很開心。

但是在我的發佈配置中,我從來沒有看到對updatedTransactions的調用,所以我從來沒有真正恢復購買。

可能與我嘗試還原後無法正常工作有關。我重新啓動應用程序,並發現當我向商店索要產品列表時,我沒有得到回覆。

+1

我相信這是一個在storekit中的錯誤。 – 2009-11-16 12:07:42

+1

在調試/發佈配置中發佈差異會有所幫助。它只是代碼簽名和優化不同,還是還有其他更改? – 2010-11-10 13:56:20

+0

StoreKit真的很糟糕;我認爲卡爾是對的。我希望你能解決問題,但如果這個問題持續一段時間,我不會感到驚訝。 – 2010-12-03 04:22:31

回答

1

此錯誤情況與配置無關。這是商店套件中的間歇性錯誤。

-1

您是否以這種方式將付款對象添加到付款隊列中?

SKPayment * payment = [SKPayment paymentWithProductIdentifier:「Your Product identifier」]; [[SKPaymentQueue defaultQueue] addPayment:payment];

如果您使用這種方式,則在支付隊列中添加付款對象之後立即調用UpdatedTransactions。您不必顯式調用它。它受存儲工具包處理。

+0

這與OP的恢復問題有什麼關係? – Cal 2014-01-14 23:27:40

1

卡爾,正如你所說,它似乎是一個間歇性的錯誤。 但是,如果我使用美國商店進行測試,我也發現它不會發生(或者至少我還沒有看到它)。我一直在使用英國的測試用戶,今天它每一次都慘敗。創建一個美國測試用戶,並自動切換到美國商店後,它再次完美地工作。 這不是一個修復,但它可能是有用的;)