未从 SKProductsRequest 收到应用内购买 SKProduct

Posted

技术标签:

【中文标题】未从 SKProductsRequest 收到应用内购买 SKProduct【英文标题】:In-App purchase SKProduct not received from SKProductsRequest 【发布时间】:2021-06-22 17:38:35 【问题描述】:

我在 App Store Connect 帐户中进行了 3 次应用内购买(不可续订的订阅),均已成功在代码中获得批准和检索

然后我又添加了一个免费的不可续订的应用内购买,提交到应用商店新的应用内购买被批准,所有协议都有效,税务和银行信息是好的,代码中的产品标识符是与 App Store 中的相同连接

我在 SKProductsRequest 中请求所有四个产品但在 productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) 我收到三个旧的应用内购买 SKProducts,但在 invalidProductIdentifiers 中收到新的应用内购买的产品标识符

func fetchProducts() 
    let request = SKProductsRequest(productIdentifiers: ["mentalmind.kz.free", "mentalmind.kz.threemonth", "mentalmind.kz.sixmonth", "mentalmind.kz.oneyear"])
    request.delegate = self
    request.start()


func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) 
    print("received products: \(response.products.map( $0.productIdentifier ))")
    print("invalid product ids: \(response.invalidProductIdentifiers)")
    DispatchQueue.main.async 
        self.products = response.products
    

控制台输出:

received products: ["mentalmind.kz.oneyear", "mentalmind.kz.sixmonth", "mentalmind.kz.threemonth"] 
invalid product ids: ["mentalmind.kz.free"]

是苹果的错,还是你有什么代码推荐给我?

【问题讨论】:

没有人知道,因为你没有显示一行代码。 @ElTomato ,添加代码和截图 据我所知,StoreKit 无法识别您所有产品的唯一可能是您在应用程序中指定的产品标识符与您在 iTunes Connect 上实际注册的产品标识符不同。另一个小可能性是您没有等待足够长的时间,直到他们的服务器传播数据。 @ElTomato ,是的,我也是这么想的,但是我从 App Store Connect 复制粘贴了标识符,并在一个多星期前添加了这个应用内购买:/ 【参考方案1】:

不幸的是,我不知道是什么问题,Apple 支持没有帮助我 但是我以最便宜的价格创建了新的应用内购买,但不是免费的,它在 App Store Connect 中运行良好 问题可能是因为应用内购买是免费的

【讨论】:

以上是关于未从 SKProductsRequest 收到应用内购买 SKProduct的主要内容,如果未能解决你的问题,请参考以下文章

为啥 SKProductsRequest 需要产品标识符?

SKProductsRequest 不会在 Catalyst 应用程序中返回 SKProductsResponse

C未从定时器接收到信号

为啥我会收到“尝试导入错误:'EffectCards' 未从 'swiper' 导出”?

设备令牌已过期或应用程序未从通知中注册

未从 LocalNotification.fireDate 收到通知