Ios 该应用程序是否可能在TestFlight上工作,但在发布时失败?

Ios 该应用程序是否可能在TestFlight上工作,但在发布时失败?,ios,restore,testflight,in-app,Ios,Restore,Testflight,In App,我重写了购买的软件的代码,因为它无法在沙盒中测试,所以我在TestFlight上测试了这个应用程序 该应用程序在购买和恢复方面都运行良好。昨天该应用程序被发布,我也下载并再次测试了它,但我发现它在购买和恢复方面都失败了 今天,我上传了与新版本相同的代码到TestFlight并再次测试,该应用程序运行良好 可能吗 另外,我在TestFlight帐户上使用相同的电子邮件,在iPhone上使用相同的Apple ID func requestProductData() { if SKPayme

我重写了购买的软件的代码,因为它无法在沙盒中测试,所以我在TestFlight上测试了这个应用程序

该应用程序在购买和恢复方面都运行良好。昨天该应用程序被发布,我也下载并再次测试了它,但我发现它在购买和恢复方面都失败了

今天,我上传了与新版本相同的代码到TestFlight并再次测试,该应用程序运行良好

可能吗

另外,我在TestFlight帐户上使用相同的电子邮件,在iPhone上使用相同的Apple ID

func requestProductData()
{

    if SKPaymentQueue.canMakePayments() {
        request = SKProductsRequest(productIdentifiers: self.productIdentifiers as Set<String>)
        request.delegate = self
        request.start()
    } else {
        self.activity.stopAnimating()
        self.activity.hidden = true

        let alert = UIAlertView()
        alert.title = "Setting"
        alert.message = "In-App Purchases Not Enabled, Please enable In App Purchase in Settings"
        alert.addButtonWithTitle("OK")
        alert.show()

    }
}

func restorePurchases() {
    SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}

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

    for transaction in transactions {
        switch transaction.transactionState {
        case SKPaymentTransactionState.Purchased:
            self.deliverProduct(transaction)
            SKPaymentQueue.defaultQueue().finishTransaction(transaction)
            productsList.reloadData()
        case SKPaymentTransactionState.Failed:
            print(transaction.error)
            SKPaymentQueue.defaultQueue().finishTransaction(transaction)
        case SKPaymentTransactionState.Restored:
            self.deliverProduct(transaction)
            SKPaymentQueue.defaultQueue().finishTransaction(transaction)
            break;
        default:
            break
        }

    }

}

func deliverProduct(transaction:SKPaymentTransaction) {

    if transaction.payment.productIdentifier == "com.xxxxx"
    {
        saveData.setBool(true, forKey: "xxxxxPurchased")

    }else if transaction.payment.productIdentifier == "com.xxx"{

        saveData.setBool(true, forKey: "xxxPurchased")

    }

}
func requestProductData()
{
如果SKPaymentQueue.canMakePayments(){
请求=SKProductsRequest(productIdentifiers:设置为self.productIdentifiers)
request.delegate=self
request.start()
}否则{
self.activity.stoppanimating()
self.activity.hidden=true
let alert=UIAlertView()
alert.title=“设置”
alert.message=“未启用应用内购买,请在设置中启用应用内购买”
alert.addButtonWithTitle(“确定”)
alert.show()
}
}
func restorepources(){
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
}
func paymentQueue(队列:SKPaymentQueue,updatedTransactions事务:[SKPaymentTransaction]){
交易中的交易{
切换事务.transactionState{
案例SKPaymentTransactionState.已购买:
自我交付产品(交易)
SKPaymentQueue.defaultQueue().finishTransaction(事务)
productsList.reloadData()
案例SKPaymentTransactionState.失败:
打印(事务处理错误)
SKPaymentQueue.defaultQueue().finishTransaction(事务)
案例SKPaymentTransactionState.已还原:
自我交付产品(交易)
SKPaymentQueue.defaultQueue().finishTransaction(事务)
打破
违约:
打破
}
}
}
func deliverProduct(交易:SKPaymentTransaction){
如果transaction.payment.productIdentifier==“com.xxxxx”
{
saveData.setBool(true,forKey:“XXXXX已购买”)
}如果transaction.payment.productIdentifier==“com.xxx”,则为else{
saveData.setBool(true,forKey:“xxxpourchased”)
}
}
更新:
In-Apps已经发布,这两款产品之前已经购买过。每种产品在购买时都会显示复选标记。我在发布的版本上没有复选标记,但在TestFlight版本上有复选标记。

您能提供您面临的确切错误吗?当然。如果应用中的应用没有发布,商店版本就看不到它们,或者如果产品是硬编码的,它就不能使用them@BhadreshMulsaniya我在购买的产品上加了一个复选标记。在购买和恢复后,我没有看到任何复选标记。我在以前的版本中购买了这两个产品。@Daij Djan在应用程序中发布了两个版本,我曾尝试购买这两个产品,他们之前成功地返回了两个复选标记。