这个仓库使得将 C 语言库 Libgit2 包含到 iOS 或 Mac 应用程序中变得更加容易。它没有尝试为 libgit2
API 提供任何友好的、Swifty 封装。
这个仓库在很大程度上得益于 https://github.com/light-tech/LibGit2-On-iOS。 然而,LibGit2-On-iOS
项目没有将其 C 语言绑定作为其自身的 Swift Package 暴露出来,而是选择将他们的框架作为二进制目标用于他们的 Swift 语言绑定项目 MiniGit。 如果你想要 Swift 绑定,你应该使用那个项目! 但是,如果你想直接使用 C API,那么这个项目就是你应该开始使用的。
如果你正在编写一个需要访问 libgit2
的 iOS 或 Mac 应用程序,你可以简单地通过 Swift Package Manager 将这个包添加到你的项目中。 libgit2
C 语言 API 通过 Clibgit2
模块提供,因此你可以使用 import Clibgit2
访问它们。 例如,以下 SwiftUI 视图将显示 libgit2
版本
import Clibgit2
import SwiftUI
struct ContentView: View {
var body: some View {
Text(LIBGIT2_VERSION)
.padding()
}
}
如果你想在另一个包中使用 static-libgit2
(例如,为了向 C API 公开一些很棒的 Swift 绑定),请在你的 Package.swift
中包含以下内容
dependencies: [
.package(url: "https://github.com/bdewey/static-libgit2", from: "0.1.0"),
],
static-libgit2
包含以下库
库 | 版本 |
---|---|
libgit2 | 1.3.0 |
openssl | 3.0.0 |
libssh2 | 1.10.0 |
这个构建方法和构建脚本的原始版本来自富有洞察力的项目 https://github.com/light-tech/LibGit2-On-iOS。
你不需要依赖这个包的预构建库。 你可以构建你自己的框架版本。
# You need the tool `wget`
brew install wget
git clone https://github.com/bdewey/static-libgit2
cd static-libgit2
./build-libgit2-framework.sh