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

标签 swift xcode preprocessor

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

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

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

最佳答案

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

不过,还有另一种简单的方法可以做到这一点。将要有条件编译的行和函数分隔成单独的文件。也许通过使用 Swift 扩展或子类化或只是单独的全局函数等等。然后只需选择您希望将这些文件添加为成员资格的目标和/或项目。

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

关于swift - Xcode:停止编译代码/函数行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55133043/

相关文章:

Xcode - 命令/Developer/usr/bin/clang 失败,退出代码为 1

c++ - 确定C++中类构造函数的参数个数和类型?

ios - 快速控制流程

pointers - 从指针中检索用户名对象 - Parse, swift

录制音频时 xCode 控制台错误

ios - iPhone 不可用。请重新连接设备。/iOS 14.2 - Xcode 12.1

python - 根据文件扩展名选择 Mako 预处理器?

java - Java 中没有预处理器——如果我有条件地喜欢详细的调试输出,最好的方法是什么?

ios - 从谷歌 API 获取附近的地方按距离排序

ios - 如何从用户类解析swift中提取文件