我已经在我的一个应用程序中成功实现了IAP。
此刻,我正在使用NotificationCenter
通知我的UIViewController
,该商品有效:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
print(transaction.transactionState.status(), transaction.payment.productIdentifier)
switch transaction.transactionState {
case .purchasing: break
case .purchased:
print("purhcsed")
NotificationCenter.default.post(name: Notification.Name(rawValue: "Cvpurchased"), object: nil, userInfo: nil)
queue.finishTransaction(transaction)
default:
print("updatedTransactions")
queue.finishTransaction(transaction)
}
}
}
问题是我要等待用户在执行下一个操作之前在“您已全部设置”警报上按“确定”。
我一直在寻找委托方法,但在Apple文档中找不到任何内容。
答案 0 :(得分:0)
您可以使用applicationState
中的UIApplication
作为解决方法。
购买完成后,如果applicationState
是inactive
,请等到状态更改为active
(点击确定按钮)后,再进行处理
您可以使用applicationDidBecomeActive(_ application: UIApplication)
委托或UIApplicationDidBecomeActive
通知来处理状态更改。