Ios Mac Catalyst错误:无法覆盖';支付队列';它已被标记为不可用
我在Swift中有一个iOS应用程序,它在Ios Mac Catalyst错误:无法覆盖';支付队列';它已被标记为不可用,ios,swift,macos,in-app-purchase,mac-catalyst,Ios,Swift,Macos,In App Purchase,Mac Catalyst,我在Swift中有一个iOS应用程序,它在SKPaymentTransactionObserver中实现了paymentQueue(uu1;:shouldAddStorePayment:for:)方法。然而,当我使用Mac Catalyst将此应用程序移植到Mac时,每当我尝试在Mac上编译并运行它时,它都会给我一个编译错误,上面写着“无法覆盖已标记为不可用的‘paymentQueue’” 我尝试添加#if操作系统(iOS)#endif和@在paymentQueue方法周围可用(iOS 11,*
SKPaymentTransactionObserver
中实现了paymentQueue(uu1;:shouldAddStorePayment:for:)
方法。然而,当我使用Mac Catalyst将此应用程序移植到Mac时,每当我尝试在Mac上编译并运行它时,它都会给我一个编译错误,上面写着“无法覆盖已标记为不可用的‘paymentQueue’”
我尝试添加#if操作系统(iOS)#endif
和@在paymentQueue
方法周围可用(iOS 11,*)
语句,但它仍然给我这个错误
以下是当前错误缠身的代码:
#if os(iOS)
func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {
return true
}
#endif
还有人遇到这个问题吗?您可以使用
阻止将代码编译到Mac Catalyst版本中!目标环境(macCatalyst)
条件:
#if !targetEnvironment(macCatalyst)
func paymentQueue(_ queue: SKPaymentQueue,
shouldAddStorePayment payment: SKPayment,
for product: SKProduct) -> Bool {
return true
}
#endif