通过解析 Bundle 和版本控制系统 (VCS) 仓库中的修订元数据,来管理 macOS, iOS, watchOS, 和 tvOS 项目中的版本控制。
CocoaPods 是 Cocoa 项目的依赖管理工具。 您可以使用以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将 SwiftVer 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
use_frameworks!
pod 'SwiftVer'
然后,运行以下命令
$ pod install
Carthage 是一个去中心化的依赖管理工具,它构建您的依赖项并为您提供二进制框架。
您可以使用 Homebrew 安装 Carthage,使用以下命令
$ brew update
$ brew install carthage
要使用 Carthage 将 SwiftVer 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "brightdigit/SwiftVer" ~> 2.0.0
运行 carthage update
来构建框架并将构建的 SwiftVer.framework
拖到您的 Xcode 项目中。
Version
bundle 初始化器接收一个 Bundle,并且是可失败的。 如果您的 Bundle 不包含格式为 major.minor
或 major.minor.patch
的有效版本字符串,则初始化程序将失败。
guard let version = Version(bundle: Bundle.main) else {
// invalid version format
}
您可以使用 Autorevision 从您的 VCS 仓库中修订元数据。
从 Autorevision 添加 bash 脚本。
向您的项目添加一个 Run Script 构建阶段。
"${SRCROOT}/autorevision.sh" -t <format> >${SRCROOT}/framework/autorevision.<format>
将输出包含在您的 bundle 中。
解析输出并调用 VersionControlInfo
初始化器。
public struct VersionControlInfo {
public init(type: String,
baseName: String,
uuid: Hash?,
number: Int,
date: String,
branch: String,
tag: String?,
tick: Int?,
extra: String?,
hash: String,
isWorkingCopyModified: Bool)
}
在 2.0.0 版本中,您可以根据 StageBuildDictionary 解析 stage。 StageBuildDictionary 是一个 plist,它将语义版本映射到 stage 及其最小构建版本号。
要创建字典,请将其传递给以下方法
public enum Stage {
public static func dictionary(fromPlistAtURL url: URL) -> StageBuildDictionaryProtocol?
}
Leo G Dion, BrightDigit, LLC
SwiftVer 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。