我遇到的问题是,在购买应用耗材后应用程序丢失网络时,finishTransaction
无法正常工作。我正在呼叫finishTransaction
(仍然没有互联网连接),但是下次应用启动并且我正在设置
[[SKPaymentQueue defaultQueue] addTransactionObserver:...];
要求用户输入App Store密码。我的问题是,我不知道他在这里购买了什么。如果他在这里按取消,一切都很好,但是如果用户输入密码,他会被收费并且没有得到任何东西。所以我希望取消所有待处理的交易。
我已经尝试了
for (SKPaymentTransaction *transaction in [SKPaymentQueue defaultQueue].transactions) {
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
但[SKPaymentQueue defaultQueue].transactions
在这里是空的。有没有其他可能性来阻止用户被要求但是取消所有待处理的交易?