SwiftVer
通过解析您的 VCS 仓库中的捆绑包和修订版本元数据来管理 MacOS、iOS、watchOS 和 tvOS 项目中的版本控制。
内容
要求
- XCode 8.0
- macOS 10.10+, iOS 8.1+, watchOS 2.0+
安装
CocoaPods
CocoaPods 是一个用于 Cocoa 项目的依赖管理器。您可以使用以下命令进行安装:
$ gem install cocoapods
要使用 CocoaPods 将 SwiftVer 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
use_frameworks!
pod 'SwiftVer'
然后,运行以下命令:
$ pod install
Carthage
Carthage 是一个去中心化的依赖管理器,它会构建您的依赖并提供二进制框架。
您可以使用以下命令通过 Homebrew 安装 Carthage:
$ brew update
$ brew install carthage
要使用 Carthage 将 SwiftVer 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "brightdigit/SwiftVer" ~> 2.0.0
运行 carthage update
以构建框架,并将构建好的 SwiftVer.framework
拖入您的 Xcode 项目中。
使用方法
从 Bundle 解析版本
Version
包初始化器接受一个包和 failable。如果您的 Bundle 未包含格式为 major.minor
或 major.minor.patch
的有效版本字符串,初始化器将失败。
guard let version = Version(bundle: Bundle.main) else {
// invalid version format
}
有效
有效
无效
Autorevision 集成
将版本控制信息与您可以使用 Autorevision 从您的 VCS 仓库检索修订元数据。
-
添加来自 Autorevision 的 bash 脚本。
-
向您的项目添加一个运行脚本构建阶段。
"${SRCROOT}/autorevision.sh" -t <format> >${SRCROOT}/framework/autorevision.<format>
-
将输出包含在您的捆绑包中。
-
解析输出并调用
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)
}
使用 StageBuildDictionary 解析阶段
在 2.0.0 版本中,您可以根据 StageBuildDictionary 解析阶段。StageBuildDictionary 是一个将语义版本映射到阶段及其最小构建号的 plist。
每个语义版本重置构建号的 plist (iOS)
在每次语义版本中不重置构建号的 Plist(Sparkle 兼容的 macOS)
要创建字典,请将其传递给以下方法
public enum Stage {
public static func dictionary(fromPlistAtURL url: URL) -> StageBuildDictionaryProtocol?
}
文档
作者
Leo G Dion,BrightDigit, LLC
许可
SwiftVer 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。