2011-04-29 101 views
1

我有一個奇特的情況。在我爲交易付款後,在收到來自App Store的SKTransactionStatePurchased通知之前,我關閉了我的應用程序。關閉我的應用程序後,我收到了此警報「您的購買成功」。現在,這一切都發生在我無法撥打電話的地方,在App Purchase

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

我無法解鎖功能,因爲在處理更新的事務之前,我的應用程序將退出。它不會進入背景,我殺了它。現在我該如何處理這種特殊情況。即使我再次嘗試購買,我也會收到此消息,此購買已完成但未下載。可能是因爲我沒有完成交易。如果我嘗試調用恢復事務,那麼對於這個未完成的事務我沒有得到正確的響應。

如何處理這種情況?它不同於蘋果自動響應未完成的查詢。在這裏,應用商店響應並解除其職責,但在我解鎖並交付功能並完成交易之前,我的應用程序被終止可能是由於來電或其他原因造成的。

由於提前

+0

如何恢復此類交易? – amateurcoder 2011-04-29 14:27:36

+0

「我關閉了我的應用程序」 - 爲什麼你會這樣做? – 2011-04-29 14:52:04

+0

這是因爲實時中斷可能會在此過程開始時中斷您的應用程序。這是一種測試技術。 – amateurcoder 2011-04-29 15:05:55

回答

0

僅供參考,我們的應用程序只涉及消費品,所以這可能並不適用於您。

但是,在我們無法成功完成交易的情況下,我們的交易通常會在重新啓動應用程序的狀態SKPaymentTransactionStatePurchased中返回。然後我們簡單地完成finishTransaction並且宇宙再次平衡。

+0

我的應用程序正在處理非易耗品。沒有成功完成的交易在我的情況下沒有得到重新啓動的新響應。我似乎不明白爲什麼? – amateurcoder 2011-04-29 15:21:44

+0

你能告訴我爲什麼我收到這條消息嗎? 「您已經購買了此應用內購買,但尚未下載。」 – amateurcoder 2011-04-29 15:24:49

+0

我很確定這意味着交易尚未完成。 finishTransaction將失敗,特別是在paymentQueue上下文外調用時:updatedTransactions: – 2011-05-02 07:12:19