9

我正在将 iOS 应用程序移植到 Catalyst。Catalyst (Mac) 版本将有自己的目标。

是否有官方方法可以为 Catalyst 有条件地编译代码?否则,我可以添加特定于目标的定义,但最好使用更通用的定义。

4

2 回答 2

24

如文档Creating a Mac Version of Your iPad App中所见,您可以:

迅速:

#if targetEnvironment(macCatalyst)
    // Code specific to Mac.
#else
    // Code to exclude from Mac.
#endif

目标-C:

#if TARGET_OS_MACCATALYST
    // Code specific to Mac.
#else
    // Code to exclude from Mac.
#endif
于 2019-10-08T18:39:05.070 回答
1

也可以运行从 macCatalyst 中排除的代码,而无需使用#else. 注意使用!(不是)。

#if !targetEnvironment(macCatalyst)
    print("This code will not run on macCatalyst")
#endif
于 2021-09-23T15:20:46.713 回答