2012-11-15 31 views
6

我一直在敲打我的頭靠在牆上與此幾天updatedTransactions,因爲一切都用來工作正常,但現在我已經搬到Mountain LionXCode 4.5iOS5.1iOS6,這問題出現了,我認爲它可能與配置開關有關。restoreCompletedTransactions從未調用StoreKit

我打電話[[SKPaymentQueue defaultQueue] restoreCompletedTransactions],稍後paymentQueueRestoreCompletedTransactionsFinished被調用,但沒有任何呼叫的號碼updatedTransactions。這就像請求在太空中迷失了一樣。

我也有可能與購買有關的問題。如果我嘗試使用makePurchase重新購買一件商品,從我的理解中應該會導致SKPaymentTransactionStateRestored,我會得到"Already purchased.. download"消息,然後是可怕的"Cannot connect to iTunes store...",錯誤代碼爲"PaymentTransactionStateFailed"。什麼是錯誤代碼2?

該項目是一個普通的非易耗品應用內購物袋,當在沙箱模式下測試StoreKit時會發生這種情況。

我在這個論壇上看到其他人有類似的問題,唯一的答覆是這是一個間歇性的錯誤我StoreKit。這仍然是最合理的情況嗎?

任何消息,將不勝感激。

+0

我看到這個問題已經有一年了。我遇到了與上述完全相同的問題。我希望將updatedTrasactions本地返回的已購物品存儲在本地,以便在應用程序啓動時檢索它們。 此外,我添加了一個新的測試用戶來解決「破碎的測試用戶」的情況,仍然沒有喜悅。 我確實有觀察者在viewDidLoad中啓動:[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 請幫助我們! – Spidey

回答

0

paymentQueue:updatedTransactions:僅在事務狀態發生變化時調用。

如果沒有以前的交易[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]不會改變這些交易的狀態(因爲根本不存在),因此paymentQueueRestoreCompletedTransactionsFinished而不打電話叫paymentQueue:updatedTransactions:

我也有一個可能相關的問題購買。如果我嘗試使用makePurchase重新購買一件商品,從我的理解中也應該會導致SKPaymentTransactionStateRestored,我會看到「已購買...下載」消息,隨後出現可怕的「無法連接到iTunes商店...」 PaymentTransactionStateFailed「錯誤代碼2.什麼是錯誤代碼2?

您需要在處理成功的交易後致電[[SKPaymentQueue defaultQueue] finishTransaction:]