我无法在Swift 4 / iOS 11中恢复IAP。我的AppDelegate
实现了SKPaymentTransactionObserver
。在AppDelegate
的{{1}}我正在呼叫didFinishLaunchingWithOptions
。我也在AppDelegate中实现了SKPaymentQueue.default().add(self)
函数。
从paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
我可以这样购买:
ViewController
购买成功完成 - 我的let payment = SKPayment(product: products.first!)
SKPaymentQueue.default().add(payment)
观察员收到了updatedTransaction
状态.purchased
。
但是,当我从同一paymentQueue
调用以下内容以恢复购买时:
ViewController
永远不会调用SKPaymentQueue.default().restoreCompletedTransactions()
函数。
似乎我的沙箱用户等已经正确设置,因为最初购买正在运行。沙箱用户是否有能力恢复购买?除了致电paymentQueue updatedTransactions
以恢复购买外,我是否还需要做其他工作?
更新,这是我的restoreCompletedTransactions()
代码,位于paymentQueue updatedTransactions
:
AppDelegate