收听 iOS 上应用内购买窗口何时打开


SKPaymentQueue.default().add(payment)

我正在开始应用内购买。但我认为购买窗口有时会打开得很晚。有没有一种方法,委托方法来侦听此屏幕打开的情况?

我对此进行了研究,但我无法得出结论,有人知道吗?

您可以使用下面的委托来处理有关 SKPaymentTransactionState 的它(例如显示/隐藏进度视图(:

// Handle transaction status after you call .add(payment).
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction:AnyObject in transactions {
if let trans = transaction as? SKPaymentTransaction {
switch trans.transactionState {
case .purchased:                 
SKPaymentQueue.default().finishTransaction(trans)
// purchased..
case .failed:
SKPaymentQueue.default().finishTransaction(trans)
// failed ..
case .restored:
SKPaymentQueue.default().finishTransaction(trans)
// restored
default:
break
}
}
}
}

我建议使用制作精良(且易于用户(的库来处理应用内购买。它被称为SwiftyStoreKit。在此处输入链接描述 我们在许多项目中使用它,并且在处理购买时它有很好的闭包。您可以在调用 UI 的方法之前放置 UI 阻止进度指示器,并在关闭返回结果时删除。

最新更新