2011-07-16 43 views
1

蘋果指出,使用應用程序內購買的所有應用程序都將這個iPhone - 應用程式內未能購買測試

[[SKPaymentQueue defaultQueue] addTransactionObserver:self.observer]; 

在應用程序的開始,以處理任何成功的銷售,由於某種原因,設備尚未收到發佈內容的確認。

我試圖測試這個,試圖打電話時它即將完成交易,退出應用程序或在交易完成前停止Xcode,但由於某種原因,即使當我退出Xcode,iOS似乎繼續處理事務並且應用程序永遠不會收到SKPaymentTransactionStateRestored。該應用程序總是收到SKPaymentTransactionStatePurchased並且看起來是失敗證明(也許當發佈StoreKit時,新的iOS 4處理比3.2版更好)。

我的問題是:你們是否知道我可以在這裏創建的任何情況來生成失敗並在應用程序啓動時收到SKPaymentTransactionStateRestored?我需要測試應用程序是否適合這種情況。

感謝

回答

2

SKPaymentTransactionStateRestored只有當你調用restoreCompletedTransactions(這樣用戶就可以在新設備上恢復他們的應用程序內購買)進行。如果您在不致電finishTransaction:的情況下退出應用程序,交易將保留在隊列中,您將再次獲得SKPaymentTransactionStatePurchased

+0

啊,好的,但現實生活中會發生什麼樣的情況,交易永遠不會結束? – SpaceDog

+0

無。只要您註冊了觀察員,回調將始終被調用。如果失敗,有SKPaymentTransactionStateFailed。 – jtbandes

+0

好吧。謝謝!!!! – SpaceDog