首页 文章

iOS IAP还原不起作用

提问于
浏览
3

我有IAP的ios App . 我作为测试用户在沙盒中购买产品,一切都很好 . 我收到收据并将其分开 . 然后我重新安装应用程序,我正在尝试恢复IAP并调用

SKPaymentQueue.defaultQueue().restoreCompletedTransactions()

下一个

paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue)

叫做 . 没有恢复 . 我想必须有召唤

paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])

但它缺少了!收据也不存在 .

必须有要恢复的交易(因为如果我再次购买产品,StoreKit说它已经购买了)我做错了什么?

UPD:

我想要恢复的产品是不可续订的订阅 . 如果这是唯一要恢复的产品,Apple不会返回交易清单 . 如果购买了其他产品(例如,非消耗品),Apple会返回完整的交易清单......

1 回答

  • 0

    我在恢复购买前请求收据:

    let receiptRefreshRequest: SKRequest = SKReceiptRefreshRequest()
    receiptRefreshRequest.delegate = self
    receiptRefreshRequest.start()
    

    然后在回复后我做了恢复

    public func requestDidFinish(request: SKRequest) {
        if request == receiptRefreshRequest {
            SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
        }
    }
    

相关问题