ios - 在应用程序购买失败“无法连接到 iTunes Store”错误
问题描述
自上两个月以来我一直面临这个问题
我的应用程序在运行正常之前可以自动续订 InApp 购买,然后许多用户抱怨说,当他们点击购买按钮时没有任何反应,所以我调试我的代码并在我的真实设备上运行我发现了这个错误
失败 SKPrdouctName 错误域=SKErrorDomain 代码=2“无法连接到 iTunes Store” UserInfo={NSLocalizedDescription=无法连接到 iTunes Store}
我没有更改任何代码
我没有上传新版本
我的产品也在 Appstore Connect 上获得批准
我没有改变产品上的任何东西
我已经尝试过重启设备,清除缓存,登录注销苹果ID仍然得到同样的错误
这发生在许多现场用户身上
我真的需要一个解决方案
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
print(response.products)
products = response.products
for product in response.products {
print(product.localizedTitle)
}
}
func request(_ request: SKRequest, didFailWithError error: Error) {
print(error.localizedDescription)
}
func requestDidFinish(_ request: SKRequest) {
print(request)
Global.sharedInstance.isConsiderPurchasedOrNot = true
}
}
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
print(transaction.transactionState.status(), transaction.payment.productIdentifier)
switch transaction.transactionState {
case .purchasing:
break
case .purchased:
Miscellaneous.APPDELEGATE.window!.stopMyToastActivity()
if Global.sharedInstance.isConsiderPurchasedOrNot{
print(transaction.payment.productIdentifier + "is purchased")
let prodID = transaction.payment.productIdentifier as String
if prodID == MyProducts.autoRenewSubscription
{
Global.sharedInstance.isPurchased = 1
purchaseSubscriber(usediD: Global.getUserID())
}
}
break
case .restored:
print(transaction.payment.productIdentifier + "is purchased/restored! hello ")
// let str1 = UserDefaults.standard.string(forKey: "username")
Global.sharedInstance.isPurchased = 1
let prodID = transaction.payment.productIdentifier as String
Miscellaneous.APPDELEGATE.window!.stopMyToastActivity()
if prodID == MyProducts.autoRenewSubscription
{
Global.sharedInstance.isPurchased = 1
}
case .failed:
print(transaction.payment.productIdentifier + "is failed!")
Miscellaneous.APPDELEGATE.window!.stopMyToastActivity()
default: queue.finishTransaction(transaction)
}
}
}
解决方案
推荐阅读
- java - 为什么 System,out,println() 不会抛出空指针异常?
- javascript - 尽管给出了高度,猫头鹰旋转木马仍不显示图像
- c# - 在 Windows 服务中单击托盘图标打开 Windows 窗体
- sitecore - 我在哪里可以找到 Sitecore 店面中显示的数据?
- javascript - 如何根据内容的高度调整 iframe 的高度?
- python - 如何使用 Python 在 plotly 中绘制多个 Y 轴?
- spring-boot - JMS 未在 Spring Boot 应用程序中启动
- bitcoin - 两个比特币地址可以有相同的校验和吗
- python - 循环请求不会按顺序执行请求
- r - 在 R 中将 10 年以上替换为 10 年