SwiftVer 2.0.6

SwiftVer 2.0.6

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2020年1月
SPM支持SPM

Leo G Dion 维护。



SwiftVer 2.0.6

  • 作者
  • Leo Dion

header

SwiftVer

Twitter Codecov CodeFactor Grade codebeat badge Swift GitHub issues GitHub Travis Beerpay Analytics Version License Platform Carthage compatible

通过解析您的 VCS 仓库中的捆绑包和修订版本元数据来管理 MacOS、iOS、watchOS 和 tvOS 项目中的版本控制。

screenshoot

内容

要求

  • 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.minormajor.minor.patch 的有效版本字符串,初始化器将失败。

guard let version = Version(bundle: Bundle.main) else {
	// invalid version format
}

有效

xcode screenshot version 1.0.1

有效

xcode screenshot version 1.0

无效

xcode screenshot version 1

将版本控制信息与 Autorevision 集成

您可以使用 Autorevision 从您的 VCS 仓库检索修订元数据。

  1. 添加来自 Autorevision 的 bash 脚本。

  2. 向您的项目添加一个运行脚本构建阶段。

"${SRCROOT}/autorevision.sh" -t <format> >${SRCROOT}/framework/autorevision.<format>
  1. 将输出包含在您的捆绑包中。

  2. 解析输出并调用 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)

intra build stage dictionary plist screenshot

在每次语义版本中不重置构建号的 Plist(Sparkle 兼容的 macOS)

global build stage dictionary plist screenshot

要创建字典,请将其传递给以下方法

public enum Stage {
  public static func dictionary(fromPlistAtURL url: URL) -> StageBuildDictionaryProtocol?
}

文档

此处为文档

作者

Leo G Dion,BrightDigit, LLC

许可

SwiftVer 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。