应用内购买适用于我的 iOS 方面。 StoreKit 中的数据按应有的方式填充。相同的代码不适用于项目的 Mac Catalyst 版本。我什至在 App Store 上为我的 Mac 应用创建了一个列表,并为应用内购买提供了不同的捆绑标识符。我有一个打印功能,它返回 StoreKit 找到的产品,它在 iOS 上运行良好,但在使用 Mac Catalyst 时没有任何结果。
这是我所做的:
适用于 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 应用程序将一无所有地返回。
最佳答案
我发现了问题。我没有创建对我的产品请求的强引用。
这行代码解决了我的问题:
var request: SKProductsRequest!
关于swift - Mac Catalyst 上的应用内购买不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61802978/