Ios InApp采购中SKTransaction状态接收的问题

Ios InApp采购中SKTransaction状态接收的问题,ios,swift,in-app-purchase,Ios,Swift,In App Purchase,我已经在iTunes connect中创建了一个产品,目前它正处于准备提交状态,我的问题是,我没有使用沙盒帐户从SKPaymentQueue委托方法获取购买状态。但我得到的是购买状态和失败状态。有人知道原因吗?或者我需要将带有二进制文件的InApp产品提交给苹果公司进行审查吗? 我的代码: func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {

我已经在iTunes connect中创建了一个产品,目前它正处于准备提交状态,我的问题是,我没有使用沙盒帐户从SKPaymentQueue委托方法获取购买状态。但我得到的是购买状态和失败状态。有人知道原因吗?或者我需要将带有二进制文件的InApp产品提交给苹果公司进行审查吗?
我的代码:

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for transaction in transactions {
       
        switch transaction.transactionState {
        
        case .purchased:
            DispatchQueue.main.async {
                CBGlobalMethods.shared.hud?.hide(animated: true)
            }
            self.handlePurchased(transaction: transaction)
            CBGlobalMethods.shared.ShowAlert(TitleString: "Dummey Alert", MessageString: "Purchased")
            SKPaymentQueue.default().finishTransaction(transaction)
            SKPaymentQueue.default().remove(self)
            break
            
        case .restored:
            DispatchQueue.main.async {
                CBGlobalMethods.shared.hud?.hide(animated: true)
            }
            self.handleRestore(transaction: transaction)
            CBGlobalMethods.shared.ShowAlert(TitleString: "Dummey Alert", MessageString: "restored")
            SKPaymentQueue.default().finishTransaction(transaction)
            SKPaymentQueue.default().remove(self)
            break
            
        case .purchasing:
            break
            
        case .deferred:
            DispatchQueue.main.async {
                CBGlobalMethods.shared.hud?.hide(animated: true)
            }
            CBGlobalMethods.shared.ShowAlert(TitleString: "Dummey Alert", MessageString: "deferred")
            self.handleDeferred(transaction: transaction)
            SKPaymentQueue.default().finishTransaction(transaction)
            SKPaymentQueue.default().remove(self)
            break
            
        case .failed:
            DispatchQueue.main.async {
                CBGlobalMethods.shared.hud?.hide(animated: true)
            }
            CBGlobalMethods.shared.ShowAlert(TitleString: "Dummey Alert", MessageString: "failed")
            self.handleFailed(transaction: transaction)
            SKPaymentQueue.default().finishTransaction(transaction)
            SKPaymentQueue.default().remove(self)
            break
            
        default:
            DispatchQueue.main.async {
                CBGlobalMethods.shared.hud?.hide(animated: true)
            }
            CBGlobalMethods.shared.ShowAlert(TitleString: "Dummey Alert", MessageString: "default case")
            SKPaymentQueue.default().finishTransaction(transaction)
            SKPaymentQueue.default().remove(self)
            break
        }
    }
}