如何使用Swift Package Manager确定Swift代码中的配置

Fab*_*llo 5 swift swift-package-manager

我正在使用Swift Package Manager创建一个应用程序,我需要知道项目所在的配置,即DebugRelease.我正试图远离使用该.xcodeproj文件.如果有可能,有人让我知道.我将在下面粘贴一个简单的示例,但只要知道除了下面的代码之外是否有更好的方法来处理配置,请提交答案.

例:

// main.swift

#if DEBUG
  print("Im in Debug!!")
#else
  print("Im in Release!!")
#endif
Run Code Online (Sandbox Code Playgroud)

Ole*_*ann 8

从Swift 3.1开始,程序包管理器不提供在Package.swift文件中自定义构建设置的选项(此功能是团队Swift 4路线图的一部分).但是,您可以使用该-Xswiftc标志在调用swift build或时将自定义生成设置传递给编译器swift test.

DEBUG在调试模式下设置标志,请swift build像这样调用:

swift build --configuration debug -Xswiftc "-D" -Xswiftc "DEBUG"
Run Code Online (Sandbox Code Playgroud)

对于发布版本,您可以执行以下操作:

swift build --configuration release
Run Code Online (Sandbox Code Playgroud)

还有-XlinkerXcc将标志分别传递给链接器和C编译器.