如何使用 Swift 包管理器确定 Swift 代码中的配置
How to determine configuration in Swift code using Swift Package Manager
我正在使用 Swift 包管理器创建一个应用程序,我需要知道构建项目的配置,即 Debug
或 Release
。我试图避免使用 .xcodeproj
文件。请有人让我知道这是否可能。我将在下面粘贴一个简单的示例,但请知道除了下面的代码之外是否还有更好的处理配置的方法,请提交作为答案。
示例:
// main.swift
#if DEBUG
print("Im in Debug!!")
#else
print("Im in Release!!")
#endif
从 Swift 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 编译器。
我正在使用 Swift 包管理器创建一个应用程序,我需要知道构建项目的配置,即 Debug
或 Release
。我试图避免使用 .xcodeproj
文件。请有人让我知道这是否可能。我将在下面粘贴一个简单的示例,但请知道除了下面的代码之外是否还有更好的处理配置的方法,请提交作为答案。
示例:
// main.swift
#if DEBUG
print("Im in Debug!!")
#else
print("Im in Release!!")
#endif
从 Swift 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 编译器。