Mac Catalyst error: Cannot override 'paymentQueue' which has been marked unavailable
Mac Catalyst error: Cannot override 'paymentQueue' which has been marked unavailable
我在 Swift 中有一个 iOS 应用程序,它在 SKPaymentTransactionObserver
中实现了 paymentQueue(_:shouldAddStorePayment:for:)
方法。但是,当我使用 Mac Catalyst 将此应用程序移植到 Mac 时,每当我尝试在 Mac 上编译并 运行 它时,它都会给我这个编译错误,上面写着 "Cannot override 'paymentQueue' which has been marked unavailable"。
我尝试在 paymentQueue
方法周围添加 #if os(iOS) ... #endif
和 @available(iOS 11, *)
语句,但它仍然给我这个错误。
目前错误多多的代码如下:
#if os(iOS)
func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {
return true
}
#endif
还有其他人遇到这个问题吗?
您可以阻止代码被编译到 Mac Catalyst 构建中 !targetEnvironment(macCatalyst)
条件:
#if !targetEnvironment(macCatalyst)
func paymentQueue(_ queue: SKPaymentQueue,
shouldAddStorePayment payment: SKPayment,
for product: SKProduct) -> Bool {
return true
}
#endif
我在 Swift 中有一个 iOS 应用程序,它在 SKPaymentTransactionObserver
中实现了 paymentQueue(_:shouldAddStorePayment:for:)
方法。但是,当我使用 Mac Catalyst 将此应用程序移植到 Mac 时,每当我尝试在 Mac 上编译并 运行 它时,它都会给我这个编译错误,上面写着 "Cannot override 'paymentQueue' which has been marked unavailable"。
我尝试在 paymentQueue
方法周围添加 #if os(iOS) ... #endif
和 @available(iOS 11, *)
语句,但它仍然给我这个错误。
目前错误多多的代码如下:
#if os(iOS)
func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {
return true
}
#endif
还有其他人遇到这个问题吗?
您可以阻止代码被编译到 Mac Catalyst 构建中 !targetEnvironment(macCatalyst)
条件:
#if !targetEnvironment(macCatalyst)
func paymentQueue(_ queue: SKPaymentQueue,
shouldAddStorePayment payment: SKPayment,
for product: SKProduct) -> Bool {
return true
}
#endif