清除 SKPAymentsQueue:强制完成未完成的事务
Clearing SKPAymentsQueue : Forcing Unfinished Transactions To Finish
我的付款队列中仍有一些恢复交易 - 因为当我测试有缺陷的恢复购买操作时,我从未调用 finishTransaction
交易恢复后。
根据一些在线研究,我意识到我必须手动强制完成付款队列中未完成的交易。
有人在 Objective-C 中发布了这段代码:
// take current payment queue
SKPaymentQueue* currentQueue = [SKPaymentQueue defaultQueue];
// finish ALL transactions in queue
[currentQueue.transactions enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[currentQueue finishTransaction:(SKPaymentTransaction *)obj];
}];
我不知道如何将其转换为 Swift 2.0.
谁能帮我做这个?谢谢:-)
这是一个 for 循环,它将遍历每个待处理的交易并检查状态,并完成已购买失败或成功的交易。
let currentQueue : SKPaymentQueue = SKPaymentQueue.default();
for transaction in currentQueue.transactions {
if (transaction.transactionState == SKPaymentTransactionState.failed) {
//possibly handle the error
currentQueue.finishTransaction(transaction);
} else if (transaction.transactionState == SKPaymentTransactionState.purchased) {
//deliver the content to the user
currentQueue.finishTransaction(transaction);
} else {
//handle other transaction states
}
}
我的付款队列中仍有一些恢复交易 - 因为当我测试有缺陷的恢复购买操作时,我从未调用 finishTransaction
交易恢复后。
根据一些在线研究,我意识到我必须手动强制完成付款队列中未完成的交易。
有人在 Objective-C 中发布了这段代码:
// take current payment queue
SKPaymentQueue* currentQueue = [SKPaymentQueue defaultQueue];
// finish ALL transactions in queue
[currentQueue.transactions enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[currentQueue finishTransaction:(SKPaymentTransaction *)obj];
}];
我不知道如何将其转换为 Swift 2.0.
谁能帮我做这个?谢谢:-)
这是一个 for 循环,它将遍历每个待处理的交易并检查状态,并完成已购买失败或成功的交易。
let currentQueue : SKPaymentQueue = SKPaymentQueue.default();
for transaction in currentQueue.transactions {
if (transaction.transactionState == SKPaymentTransactionState.failed) {
//possibly handle the error
currentQueue.finishTransaction(transaction);
} else if (transaction.transactionState == SKPaymentTransactionState.purchased) {
//deliver the content to the user
currentQueue.finishTransaction(transaction);
} else {
//handle other transaction states
}
}