Swift应用内购买沙盒测试错误



我今天正在执行应用内购买功能,我只是一步一步地遵循教程,创建沙盒测试器,编写代码,它说

<SKPaymentQueue: 0x282e50860>: Payment completed with error: Error Domain=ASDServerErrorDomain Code=3502 "This item is not available." UserInfo={NSLocalizedDescription=This item is not available.

为什么是"此项目不可用"?我在网上搜索了相关信息,但没有找到答案。

我的代码

@IBAction func purchaseButtonPressed(_ sender: UIButton) {
print("PRESSED")
purchaseApp()
}

func purchaseApp() {
let productID = "com.crazycat.Reborn.FullFuctionalities"
if SKPaymentQueue.canMakePayments() {
let paymentRequest = SKMutablePayment()
paymentRequest.productIdentifier = productID
SKPaymentQueue.default().add(paymentRequest)
} else {
print("Can't make payments")
}
}
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
if transaction.transactionState == .purchased {
print("Thanks for shopping")
} else if transaction.transactionState == .failed {
print("purchase Failed")
}
}
}

我也有同样的问题。请确保您在Appstore connect中的付费应用协议是有效的,而不是过期的。检查App Store连接中是否有任何警告。在App Store Connect付费应用协议中填写所有银行、税务和联系信息。

然后在你的物理设备上从Xcode重新启动应用程序。

交易应该成功了。

检查以下点

  • 使用您在开发人员控制台中指定的相同测试帐户。
  • 确保应用内产品在开发者控制台上显示Ready to Submit状态
  • 确保应用内产品id与你在应用中使用的产品id相匹配。

最新更新