iOS 上的应用内购买不会在 Swift 上获取产品 4

In App Purchase on iOS doesn't fetch product in Swift 4

我正在尝试像这样从 App Store Connect 获取应用内购买:

private let kOneMonthSubscriptionId = "DOUBLESPEEDENERGY"
func loadProducts() {
    let identifiers = Set([kOneMonthSubscriptionId])
    let request = SKProductsRequest(productIdentifiers: identifiers)
    request.delegate = self
    request.start()
}

 override func viewDidAppear(_ animated: Bool) {


    if SKPaymentQueue.canMakePayments()
    {
        loadProducts()
    }

}

extension homeVC: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
    if response.products.count > 0 {
        print("Purchasable products available!")
        // 1. Save the SKProduct's so you could let the user make a purchase
        // 2. Update the UI - it lets you change the product prices without updating the app
    } else {
        print("No purchasable products available.")
        // This might happen when your product identifiers are incorrect or your in-app purchases products weren't processed on iTunes Connect yet
    }
}

请查看我的代码是否有问题,非常感谢!

在此先感谢您的帮助!

最可能的原因是您没有在 App Store Connect(协议、税务和银行部分(付费应用))中设置应用内购买的银行方法,如果您没有,那么您的应用无法访问应用内购买服务,因为即使您处于沙盒环境中,它也不知道在哪里付款。

如果这没有帮助,请查看它不起作用的其他一些可能性:

  • 您没有使用明确的 App ID。
  • 您没有使用配置 与您明确的 App ID 关联的配置文件。
  • 您没有使用 正确的代码中的产品标识符。
  • 您没有清除在 iTunes Connect 中销售的应用内购买产品。
  • 您可能已经修改了您的产品,但这些更改尚未适用于所有 App Store 服务器。

希望对您有所帮助!