Mac 上的应用内购买 Catalyst 不工作
In App Purchase on Mac Catalyst Not Working
应用内购买对我的 iOS 方面来说效果很好。来自 StoreKit 的数据按应有的方式填充。相同的代码不适用于项目的 Mac Catalyst 版本。我什至在 App Store 连接上为我的 Mac 应用程序创建了一个列表,其中包含用于应用程序内购买的不同捆绑包标识符。我有一个打印函数 return 是 StoreKit 找到的产品,它在 iOS 上运行良好,但在使用 Mac Catalyst 时没有任何结果。
这是我所做的:
- 确保应用内购买已添加到功能部分。
- 确保已导入 Store Kit 框架。
- 确保包标识符正确。
- 确保所有协议都已填写。
- 我已退出 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 应用程序将 return 包含产品标识符、标题和价格。 Mac 应用程序将 return 什么都没有。
我发现了问题。我没有创建对我的产品请求的强烈引用。
这行代码解决了我的问题:
var request: SKProductsRequest!
应用内购买对我的 iOS 方面来说效果很好。来自 StoreKit 的数据按应有的方式填充。相同的代码不适用于项目的 Mac Catalyst 版本。我什至在 App Store 连接上为我的 Mac 应用程序创建了一个列表,其中包含用于应用程序内购买的不同捆绑包标识符。我有一个打印函数 return 是 StoreKit 找到的产品,它在 iOS 上运行良好,但在使用 Mac Catalyst 时没有任何结果。
这是我所做的:
- 确保应用内购买已添加到功能部分。
- 确保已导入 Store Kit 框架。
- 确保包标识符正确。
- 确保所有协议都已填写。
- 我已退出 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 应用程序将 return 包含产品标识符、标题和价格。 Mac 应用程序将 return 什么都没有。
我发现了问题。我没有创建对我的产品请求的强烈引用。
这行代码解决了我的问题:
var request: SKProductsRequest!