Swift 应用内购买沙盒测试器错误
Swift In-App purchases sandbox tester error
我今天实现了应用内购买功能,我只是按照教程一步一步,创建沙盒测试器,编写代码,它说
<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")
}
}
}
检查以下几点
- 使用您在开发者控制台中指定的相同测试帐户。
- 确保应用内产品在开发者控制台上显示“准备提交”状态。
- 确保应用内产品 ID 与您在应用中使用的产品 ID 匹配。
我遇到了同样的问题。
请确保您在 Appstore connect 中的付费应用协议处于有效状态且未过期。检查 App Store 连接中是否有任何警告。填写 App Store Connect 付费应用协议中的所有银行、税务和联系信息。
然后在您的物理设备上从 Xcode 重新启动应用程序。
那么交易应该是成功的。
我今天实现了应用内购买功能,我只是按照教程一步一步,创建沙盒测试器,编写代码,它说
<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")
}
}
}
检查以下几点
- 使用您在开发者控制台中指定的相同测试帐户。
- 确保应用内产品在开发者控制台上显示“准备提交”状态。
- 确保应用内产品 ID 与您在应用中使用的产品 ID 匹配。
我遇到了同样的问题。 请确保您在 Appstore connect 中的付费应用协议处于有效状态且未过期。检查 App Store 连接中是否有任何警告。填写 App Store Connect 付费应用协议中的所有银行、税务和联系信息。
然后在您的物理设备上从 Xcode 重新启动应用程序。
那么交易应该是成功的。