static-libgit2

这个仓库使得将 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