Xcode: 停止编译代码行/函数

Xcode: stop lines of code / functions from compiling

我在几个项目中有公共文件,我需要停止为项目A编译一些行和函数,同时为项目B编译。

我知道我可以使用预处理器。但这对我来说不方便。有什么方法可以阻止代码行在如下条件下进行编译吗?

#if PhotosModuleSettings.type == .documents
... do not commpile
#endif

您将需要使用预处理器宏。

为您的项目添加配置,并在预处理器宏中使用它。

您可以根据构建配置在目标的预处理器宏部分中设置这些配置的值。

这是与同一概念相关的详细 [​​=10=]

使用预处理器有什么不方便的?您可以在每个目标的构建设置中指定预处理器宏,也可以使用 .xcconfig 文件来指定它们。

不过,还有另一种简单的方法。将要有条件地编译到单独文件中的行和函数分开。也许通过使用 Swift 扩展或子类化或只是单独的全局函数等。无论如何。然后只需选择您希望将这些文件添加为成员的目标 and/or 个项目。

不过,根据您重构代码以进行此类文件分离的愿望,预处理器宏可能是更好的选择。