我正在使用Swift Package Manager创建应用程序,我需要知道项目所依据的配置,即Debug
或Release
。我试图远离使用.xcodeproj
文件。如果有可能,有人让我知道。我将在下面粘贴一个简单的示例,但只要知道除了下面的代码之外是否有更好的方法来处理配置,请提交答案。
示例:
// main.swift
#if DEBUG
print("Im in Debug!!")
#else
print("Im in Release!!")
#endif
答案 0 :(得分:8)
自Swift 3.1起,程序包管理器不提供在Package.swift
文件中自定义构建设置的选项(此功能是团队roadmap for Swift 4的一部分)。但是,您可以在调用-Xswiftc
或swift build
时使用swift test
标志将自定义构建设置传递给编译器。
要在调试模式下设置DEBUG
标志,请像这样调用swift build
:
swift build --configuration debug -Xswiftc "-D" -Xswiftc "DEBUG"
对于发布版本,您可以按照惯例执行:
swift build --configuration release
还有-Xlinker
和Xcc
分别将标志传递给链接器和C编译器。