Ios restoreCompletedTransactions功能不支持';我什么也不做

Ios restoreCompletedTransactions功能不支持';我什么也不做,ios,swift,storekit,Ios,Swift,Storekit,我目前正在用沙盒测试我的应用程序。Purchase起作用了,我可以看到正在调用委托函数。当我打电话时 SKPaymentQueue.defaultQueue().restoreCompletedTransactions() 我没有从以下委托方法中得到任何响应 // Delegate Methods func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!) {

我目前正在用沙盒测试我的应用程序。Purchase起作用了,我可以看到正在调用委托函数。当我打电话时

SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
我没有从以下委托方法中得到任何响应

  // Delegate Methods

func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!) {
    for transaction in transactions as! [SKPaymentTransaction] {
        println("Transaction state: \(transaction.transactionState)")
        switch transaction.transactionState {
        case .Purchased:
            completeTransaction(transaction)
            break
        case .Failed:
            failedTransaction(transaction)
            break
        case .Restored:
            println("Restore DELEGATE")
            restoreTransaction(transaction)
            break
        case .Purchasing:
            println("Purchasing!")
        default:
            break
        }
    }
}

    func restoreTransaction(transaction:SKPaymentTransaction) {
        println("Restore transaction!!!!!!!!")
        if transaction.payment != nil && transaction.payment.productIdentifier != nil {
            let productID = transaction.payment.productIdentifier
            println(productID)
        }
        NSNotificationCenter.defaultCenter().postNotificationName("productPurchased", object: nil, userInfo: userInfo)
        SKPaymentQueue.defaultQueue().finishTransaction(transaction)

    }


    func paymentQueue(queue: SKPaymentQueue!, restoreCompletedTransactionsFailedWithError error: NSError!) {

        println("Error occured during RESTORE")


    }
    func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) {
        println("Restore Finished transactions: \(queue.transactions)")

        for transaction in queue.transactions as! [SKPaymentTransaction] {
            var productIdentifier = transaction.payment.productIdentifier
            println("Restored: \(productIdentifier)")

        }

    }
是因为沙箱吗?我是否需要测试恢复是否正常工作?谢谢


编辑:都是我的错。代码正在运行。我测试的iPhone有一个叫做LocalAPStore的调整,看起来它阻止了恢复。无论如何,至少我了解到,即使用户安装了一些黑客软件,我的验证代码也能正常工作。

您正在尝试恢复哪种类型的IAP?非消耗性。然而昨天我发现,我正在测试的手机被越狱了,并且有一些inapp购买黑客。我拉了很多次头发:)它现在正在工作。你想恢复什么类型的IAP?非消耗品。然而昨天我发现,我正在测试的手机被越狱了,并且有一些inapp购买黑客。我拉了很多次头发:)它现在在工作。