【发布时间】:2020-05-14 16:54:42
【问题描述】:
在我的 iOS 方面,应用内购买工作正常。 StoreKit 中的数据按应有的方式填充。相同的代码不适用于项目的 Mac Catalyst 版本。我什至在 App Store 上为我的 Mac 应用创建了一个列表,并为应用内购买提供了不同的捆绑标识符。我有一个打印功能,它返回 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 应用将返回产品标识符、标题和价格。 Mac 应用程序将一无所有地返回。
【问题讨论】:
标签: swift macos in-app-purchase storekit mac-catalyst