我正在试图找到原因,为什么在应用购买时会在应用审核时进入.fail状态,而在我的设备上进行测试时,一切都正常,包括我的帐户和沙盒帐户。这是我从苹果那里得到的:
具体而言,您的应用无法完成应用内购买并显示错误提示。请参阅随附的屏幕截图。 下一步 验证服务器上的收据时,您的服务器需要能够处理生产签名的应用程序从Apple的测试环境获取收据。建议的方法是让您的生产服务器始终首先根据生产App Store验证收据。如果验证失败并显示错误代码“生产中使用的沙箱收据”,则应该针对测试环境进行验证。
为什么他们可能会询问一些收据验证,大多数教程都没有这样的东西。在Apple文档中有一些关于收据的文章,但它被称为可再生订阅。 关于“你的服务器”的句子也不清楚,因为据我所知,我没有自己的服务器。 我错过了什么吗?
这是代码,它会从屏幕截图中发出警报
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction:AnyObject in transactions {
if let trans = transaction as? SKPaymentTransaction {
switch trans.transactionState {
case .purchased:
complete(transaction: transaction as! SKPaymentTransaction)
break
case .failed:
print("failed")
fail(transaction: transaction as! SKPaymentTransaction) //alert from screenshot fires
break
case .restored:
restore(transaction: transaction as! SKPaymentTransaction)
break
default:
break
}}}
}