使用UIKitForMac时,“Token is not a valid binary operator in a preprocessor subexpression”是一个无效的二进制运算符。

3

我正在尝试将我的iOS项目编译为mac版本,但是当我尝试使用

#if !targetEnvironment(UIKitForMac)

时,我遇到了标题中的错误。

我尝试将构建目标设置为iOS 13,但似乎没有任何效果。

最初的回答:

您需要在Xcode中选择“Universal”作为您的应用程序的部署目标。这将使您的应用程序能够同时在iOS和macOS上运行。然后,您可以使用上述代码来检查当前的环境是否为macOS。

2个回答

2

0

如果你正在使用Objective-C而不是Swift,你应该使用:

#if !TARGET_OS_UIKITFORMAC
#endif

就是这样了!有没有文档记录这个呢?即使在官方文档中选择Objective-C也没有显示这个内容:https://developer.apple.com/documentation/uikit/creating_a_mac_version_of_your_ipad_app?language=objc - Jan
我认为这是一个文档错误,因为它无论选择哪种语言都显示相同的代码。这个问题在WWDC演讲中出现过,并且代码自动补全也有所帮助。:-) - D. Mika
代码补全对我没有任何作用:(可能是因为我的电脑在使用Xcode 11时非常慢。不管怎样,谢谢! - Jan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接