我有带有IAP的ios应用程序。我作为测试人员用户在沙盒中购买产品,一切正常。我收到收据并分享它。然后我重新安装该应用程序,我正在尝试恢复IAP并致电
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
下一个
paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue)
被称为。什么都没有恢复。我想一定有呼唤
paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
但它不见了!收据也不存在。
必须有交易要恢复(因为如果我再次购买产品,StoreKit 会说它已经购买)我做错了什么?
上级:
我要还原的产品是不可续订订阅。如果这是唯一要恢复的产品,Apple不会返回交易列表。如果购买了其他产品(例如,非消耗品),Apple 会返回完整的交易列表...
我在恢复购买之前要求提供收据:
let receiptRefreshRequest: SKRequest = SKReceiptRefreshRequest()
receiptRefreshRequest.delegate = self
receiptRefreshRequest.start()
然后在响应后我进行恢复
public func requestDidFinish(request: SKRequest) {
if request == receiptRefreshRequest {
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}
}