iOS - 如何延迟显示消息“购买成功”以等到验证收据完成

Tom*_*yer 4 in-app-purchase ios receipt-validation

我已经搜索过但找不到任何方法来延迟显示消息:“您的购买成功”以等到验证收据完成。

我试图引用该行,SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)但该消息仍然会触发。

 func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
        print("Received Payment Transaction Response from Apple");

        for transaction:AnyObject in transactions {
            if let trans:SKPaymentTransaction = transaction as? SKPaymentTransaction{
                switch trans.transactionState {
                case .Purchased:
                    print("Product Purchased");
                    SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)

                    // validate receipt and update money
                    validateReceipt(trans.payment.productIdentifier)

                    break;
                case .Failed:
                    print("Purchased Failed");
                    SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)

                    self.indicator.Hide()
                    break;
                case .Restored:
                    print("restored")
                    SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)
                    //[self restoreTransaction:transaction];

                    self.indicator.Hide()
                    break;
                default:
                    break;
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

Vik*_*ech 5

基本上没有办法延迟“购买成功”的消息。

但是您可以在验证收据后显示附加警报,向用户显示验证结果。

  • 有没有人想过这个!?我也实施了收据验证,当收据验证返回为欺诈时,收到 You're all Set 成功消息会令人困惑!?无论如何要在收据验证之后才能抑制此消息? (2认同)