应用内购买显示名称和描述未正确加载 - Swift 4

问题描述 投票:0回答:2

我正在尝试在Swift 4 for iOS中启用应用程序内购买,当我测试时,我无法在应用程序中正确显示(或加载)显示名称和描述。我确实得到了我在if (products.count == 0) {中输入的错误消息。我无法获得我在AppStoreConnect中设置的产品标题和产品描述,以便在我测试我的应用时正确加载。相反,代码认为没有产品,因为它运行if (products.count == 0) {闭包中的代码。我检查了其他所有内容(即捆绑ID,产品ID,StoreKit导入,代理设置,AppStoreConnect端的所有内容都已设置等)。没有Xcode警告,并且应用程序内购买状态为“准备提交”。有什么建议?

var product: SKProduct?
var productID = "myProductID"

func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
    var products = response.products
    if (products.count == 0) {  
        productTitle.text = "Warning"    // GETS DISPLAYED
        productDescripton.text = "Unable to connect to In-App Purchase."    // GETS DISPLAYED
    } else {
        product = products[0]
        productTitle.text = product?.localizedTitle
        productDescripton.text = product?.localizedDescription
        buyButton.isEnabled = true
        buyButton.alpha = 1.0
    }
    let invalid = response.invalidProductIdentifiers
    for product in invalid {
        print("\(product)")
    }
}
ios swift in-app-purchase
2个回答
0
投票

在没有警告的情况下导致此问题的常见问题是

  1. 您的产品未处于“准备提交”阶段。这通常来自缺少的屏幕截图,即使对于Sandbox也是如此(您可以上传空白图像进行沙盒测试)。
  2. 您尚未在App Store Connect中签署“付费应用程序”协议

这是一篇很好的博客文章,更详细地介绍了所有内容:Configuring In-app Products is Hard


0
投票

如果您是整合应用程序内购买的新手,那么您应该阅读此内容。如果您有干净的代码,并且您认为在App Store Connect中正确设置了所有内容,但仍无法正常测试。具体来说,如果您的products数组在不应该显示为空时显示为空。然后,确保您已完成以下操作:

1)通过App Store Connect中的用户和访问设置Sandbox Tester。这需要使用尚未与iTunes,App Store或Apple一起使用的电子邮件进行设置。

2)通过App Store Connect填写协议,税务和银行业务中的所有必要表格。当付费应用程序显示活动状态时,您就会知道所有内容都已填写完毕。

3)正在测试已经从iTunes和App Store注销的真实设备。

© www.soinside.com 2019 - 2024. All rights reserved.