Xcode > 调试 > Storekit > 管理交易显示交易状态为已购买,但状态为未完成?

问题描述 投票:0回答:0

代码如下。我在调用 updateTransactions 后调用 SKPaymentQueue.default().finishTransaction(transaction) - 不确定为什么事务状态在 Xcode 的 Storekit Transactions 中未完成。

    internal func purchaseFullVersion() {
        if let product = product {
            let payment = SKPayment(product: product)
            SKPaymentQueue.default().add(payment)
        }
    }

    func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
        for transaction in transactions {
            switch transaction.transactionState {
            case .purchased : purchased(transaction: transaction)
            case .failed : failed(transaction: transaction)
            case .restored : restored(transaction: transaction)
            default : break
            }
        }
    }

    internal func purchased(transaction:SKPaymentTransaction) {
        SKPaymentQueue.default().finishTransaction(transaction)
        print("Purchased")
        guard let product = product else { return }
        purchaseTransactionComplete() // this updates UserDefaults
    }
swift xcode in-app-purchase store storekit
© www.soinside.com 2019 - 2024. All rights reserved.