我在几个项目中有公用文件,我需要停止为项目 A 编译一些行和函数,同时应该为项目 B 编译它。
我知道我可以使用预处理器。但对我来说不方便。有什么方法可以阻止代码行在如下条件下进行编译吗?
#if PhotosModuleSettings.type == .documents
... do not commpile
#endif
最佳答案
使用预处理器有什么不方便的地方?您可以在每个目标的build设置中指定预处理器宏,也可以使用 .xcconfig 文件来指定它们。
不过,还有另一种简单的方法可以做到这一点。将要有条件编译的行和函数分隔成单独的文件。也许通过使用 Swift 扩展或子类化或只是单独的全局函数等等。然后只需选择您希望将这些文件添加为成员资格的目标和/或项目。
不过,根据您重构代码以进行此类文件分离的愿望,预处理器宏可能是更好的方法。
关于swift - Xcode:停止编译代码/函数行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55133043/