App是否可以在TestFlight上运行但在发布时失败?

时间:2015-11-23 12:39:53

标签: ios restore testflight in-app

我重写了购买的恢复代码,因为无法在沙盒中测试,我在TestFlight上测试了应用程序。

该应用程序在购买和恢复方面都运行良好。昨天该应用程序已通过并发布给公众,我也下载并再次测试,但我发现它无法在购买和恢复方面工作。

今天,我将新版本的相同代码上传到TestFlight并再次测试,该应用程序正常运行。

有可能吗?

P.S。我在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")

    }

}

更新: In-Apps已经发布,之前已经购买了这两款产品。如果购买,每件产品都会显示一个复选标记。我在发布的版本上没有复选标记,但在TestFlight版本上获得了复选标记。

0 个答案:

没有答案