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