Mac Catalyst上的应用程序内购买不起作用

问题描述 投票:1回答:1

在应用内购买对于我的iOS设备来说效果很好。来自StoreKit的数据将按需填充。相同的代码不适用于该项目的Mac Catalyst版本。我什至在App Store上为Mac应用程序创建了清单,并为应用程序内购买使用了不同的捆绑包标识符。我有一个打印功能,可以返回StoreKit找到的产品,它在iOS上运行良好,但是在使用Mac Catalyst时却没有任何结果。

这是我所做的:

  1. 请确保在功能部分添加了应用内购买。
  2. 请确保已导入Store Kit框架。
  3. 确保分发包标识符正确。
  4. 请确保所有协议均已填写。
  5. 我已退出Mac App Store。

在iOS上有效但在MacOS上无效的代码:

    override func viewDidLoad() {
    SKPaymentQueue.default().add(self)


    let productIds: Set<String> = ["..."]
    var request = SKProductsRequest(productIdentifiers: productIds)
    request.delegate = self
    request.start()
}

  func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
    print("Loaded")

    for product in response.products {
        print("What came: \(product.productIdentifier) \(product.localizedTitle) \(product.price.floatValue)")}

iOS应用将返回产品标识符,标题和价格。 Mac应用程序将一无所获。

swift macos in-app-purchase storekit maccatalyst
1个回答
0
投票

我发现了问题。我没有为我的产品请求创建强大的参考。

此行代码解决了我的问题:

var request: SKProductsRequest!
© www.soinside.com 2019 - 2024. All rights reserved.