2011-02-08 71 views
5

上的回調我在應用內購買設置,這樣,當購買按鈕,用戶點擊,「請等待」的觀點出現,增加了支付給支付隊列。這總是導致隊列的觀察者立即回調,表示交易進入「採購」狀態。SKPaymentTransactionObserver沒有得到應用交換機

當用戶返回到主屏幕之前購買對話框確認彈出,然後取消我的問題發生。如果我一段時間切換回應用程序前等着在主屏幕上,應用從來沒有得到關於交易的開關狀態或者被刪除的任何回調。如果我檢查付款隊列,我可以看到交易仍在隊列中,仍處於「採購」狀態。有什麼我可以做的,讓它回撥並在恢復應用程序後從隊列中刪除它?

+0

有同樣的問題...你找到一個方法來解決呢? – nico 2011-06-30 16:32:45

回答

5

如果我理解你的情況正確的,你已經遇到了這個問題:

In App Purchase user cancels tx while app in background: tx state stays on purchasing

這似乎是在蘋果商店套件的錯誤。如果你開始購買,然後當按下買入彈出確認提示取消按鈕後馬上把你的應用背景的問題可以很容易被複制。你的應用程序將不會收到該交易失敗(取消)通知,將進入阻塞狀態(如果禁用了試圖阻止用戶與應用程序交互,直至買方已經完成UI)。

我們必須等待蘋果修復。與此同時,如果您的應用因購買時禁用UI而進入阻塞狀態;你應該實現一些機制來允許用戶離開這個狀態。

祝你好運!

+0

恩,謝謝。至少我不是唯一的一個。 – 2011-08-16 01:16:05

0

我有同樣的問題,不過,我只設法重現使用沙箱AppStore的帳戶時。

有沒有人管理使用真正的蘋果賬戶重現呢?

我還沒有嘗試這樣呢,但我想我消除了SKPaymentTransactionObserver的應用程序失去焦點的時刻,再次添加它時,它下一次被激活。

關於此錯誤的奇怪之處在於,您在購買狀態中遇到了交易,但是,如果您正確關閉應用並重新啓動它,您會希望處於購買狀態的交易仍然存在,但是它不是......彷彿重新添加SKPaymentTransactionObserver觸發它正確地重新評估它的狀態。