如何使用Swift Package Manager确定Swift代码中的配置
问题描述:
我使用Swift Package Manager创建了一个应用程序,我需要知道该项目的配置,例如Debug
或Release
。我试图远离使用.xcodeproj
文件。请有人告诉我这是否可能。我将在下面粘贴一个简单的示例,但只知道是否有更好的方式来处理除下面的代码之外的配置,请提交作为答案。如何使用Swift Package Manager确定Swift代码中的配置
例子:
// main.swift
#if DEBUG
print("Im in Debug!!")
#else
print("Im in Release!!")
#endif
答
由于雨燕3.1的,包管理器不提供自定义的Package.swift
文件生成设置选项(此功能是球队的roadmap for Swift 4的一部分)。但是,在调用swift build
或swift test
时,可以使用-Xswiftc
标志将自定义构建设置传递给编译器。
设置在调试模式DEBUG
标志,调用swift build
这样的:
swift build --configuration debug -Xswiftc "-D" -Xswiftc "DEBUG"
而对于发布版本,你会做平常:
swift build --configuration release
还有-Xlinker
和Xcc
传递标志分别链接到链接器和C编译器。
所以当你说远离使用.xcodeproj你的意思是在构建设置中设置一个'DEBUG'变量? – boidkan
@boidkan是的。究竟。 –