当前位置: 首页 > 知识库问答 >
问题:

Mac Catalyst错误:无法覆盖已标记为不可用的“paymentQueue”

屠钊
2023-03-14

我在 Swift 中有一个 iOS 应用程序,它在 SKPayment交易观察程序中实现了付款队列(_:应该添加商店付款:for:)方法。但是,当我使用Mac Catalyst将此应用程序移植到Mac时,每当我尝试在Mac上编译并运行它时,它都会给我这个编译错误,该错误显示“无法覆盖已标记为不可用的'付款队列'”。

我尝试添加< code>#if os(iOS)...#endif和< code>@available(iOS 11,*)语句,但它仍然给出这个错误。

以下是当前的错误代码:

#if os(iOS)
func paymentQueue(_ queue: SKPaymentQueue, shouldAddStorePayment payment: SKPayment, for product: SKProduct) -> Bool {
    return true
}
#endif

还有人遇到这个问题吗?

共有1个答案

微生良策
2023-03-14

您可以使用< code >来防止代码被编译到Mac Catalyst版本中!目标环境(macCatalyst)条件:

#if !targetEnvironment(macCatalyst)
func paymentQueue(_ queue: SKPaymentQueue,
                  shouldAddStorePayment payment: SKPayment,
                  for product: SKProduct) -> Bool {
    return true
}
#endif
 类似资料:
  • 我不知道为什么我的代码覆盖率会出现这种情况,也许有人知道这种情况。正如您所知,代码覆盖率在到达时为蓝色,未到达时为红色,部分到达代码行时为黄色。 我编写了一个小映射器,它接收一个IDataReader并通过反射变成对象。 正如你所看到的,黄线不是一个条件,比如IF或WHILE。。。这只是一个简单的“新T”,如果您调试这段代码,调试会很好地达到这一行,事实上,测试是绿色的,并具有预期的结果。 测试执

  • 我试图记录iOS自动测试使用Appium检查员的指令使用教程... http://www.youtube.com/watch?v=Hv9A9WfYF4g 我的应用程序在工作区中。我使用iphonesimulator7.0构建了它,它显示了一条Success消息,然后在appium inspector上正确设置了构建应用程序的路径。但当我单击“启动”时,它会显示错误。 在它的控制台上..知道可能是什

  • 问题内容: 我尝试按照食谱中的描述自定义行为。 在ipython中: 没有被调用。看来在我的python 2.5安装中不起作用。 问题答案: 使用的是ipython,而不是普通的Python交互式shell,它本身捕获所有异常,并且不使用sys.excepthook。以代替just的方式运行它,它将在未捕获的异常时自动调用pdb,就像您尝试使用excepthook一样。

  • 我本打算在我的代码下设置狗的高度,但它用上面的错误标记了它。是否有任何修复方法,是否缺少任何{}im? 就像代码差不多完成了一样,我检查了所有代码,它工作了,并尝试添加狗的高度,但它抛出了语法错误 错误出现在第28到31行,代码如下

  • 问题内容: 我正在开发一些基于Web服务的应用程序,并且对Apache CXF解组有疑问。在我们的项目中,我们使用CXF 2.4.1版本。 当某些SOAP请求不正确时(例如,某些字段是文本而不是数字),CXF会抛出标准的SOAPFaultException,并且SOAP响应将使用以下标准字段构建: 项目要求说,如果发生任何故障,系统需要以其他格式响应,例如: 所以问题是:如何以某种方式覆盖此错误处

  • 注意:这里有几个人引用的解决方案不适用于我的问题。。。 我有一个java。sql。要在getter中格式化为字符串的时间戳字段。我在课程开始时使用Lombok@Data。但是,当我用自己的getter覆盖Lombok的getter(格式化时间戳)时,字段总是空的。我在文档中没有看到任何东西来解释这种行为。 这段代码将结算日期作为时间戳提供给我: 这个代码块给了我一个NPE,因为setementDa