在应用内购买:如何完成SKPaymentQueue中的所有交易?

时间:2014-09-27 20:43:27

标签: ios in-app-purchase

我遇到的问题是,在购买应用耗材后应用程序丢失网络时,finishTransaction无法正常工作。我正在呼叫finishTransaction(仍然没有互联网连接),但是下次应用启动并且我正在设置

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

要求用户输入App Store密码。我的问题是,我不知道他在这里购买了什么。如果他在这里按取消,一切都很好,但是如果用户输入密码,他会被收费并且没有得到任何东西。所以我希望取消所有待处理的交易。

我已经尝试了

for (SKPaymentTransaction *transaction in [SKPaymentQueue defaultQueue].transactions) {
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}

[SKPaymentQueue defaultQueue].transactions在这里是空的。有没有其他可能性来阻止用户被要求但是取消所有待处理的交易?

0 个答案:

没有答案