我有带有IAP的ios应用。我以测试人员的身份在沙箱中购买产品,一切正常。我收到收据并把它切丁。然后,我重新安装该应用程序,我正在尝试还原IAP并致电
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
下一个
paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue)
叫做。什么也没有恢复。我想一定有
paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
但它不见了!收据也不存在。
必须有要还原的交易记录(因为如果我再次购买产品,StoreKit说它已经购买了),我在做什么错呢?
UPD:
我要还原的产品是不可更新的订阅。如果这是唯一可还原的产品,则Apple不会返回交易清单。如果购买了另一种产品(例如,非消耗品),Apple将返回完整的交易清单...
在恢复购买之前,我需要收据:
let receiptRefreshRequest: SKRequest = SKReceiptRefreshRequest()
receiptRefreshRequest.delegate = self
receiptRefreshRequest.start()
然后在响应后我进行恢复
public func requestDidFinish(request: SKRequest) {
if request == receiptRefreshRequest {
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句