GEOS

Swift Package Manager Compatible CocoaPods Compatible Platform GEOSwift/geos

GEOS 是一个用于处理地理空间几何体的开源 C++ 库。请在其主页上了解更多信息。此仓库通过 Swift Package Manager 和 CocoaPods 提供其 C 接口,以便您可以在 Swift 或 Objective-C 项目中使用它。它通常通过 GEOSwift 使用。

最低要求

GEOS 使用 LGPL 2.1 许可,它与静态链接的兼容性至少存在争议。不鼓励在没有动态链接的情况下使用 geos。

上游版本

GEOSwift/geos 9.0.0 包包含 libgeos/geos 3.13.0

使用 CocoaPods 安装

  1. 更新您的 Podfile 以包含

     use_frameworks!
     pod 'geos'
    
  2. 运行 $ pod install

使用 Swift Package Manager 安装

  1. 更新您 Package.swift 中的顶层依赖项以包含

     .package(url: "https://github.com/GEOSwift/geos.git", from: "9.0.0")
    
  2. 更新您 Package.swift 中的目标依赖项以包含

     "geos"
    

历史

从本仓库的 3.7.0 标签开始,此处的 Podspec 应该与 CocoaPods specs 仓库中的 Podspec 相匹配。之前情况并非总是如此。例如,此仓库中的 3.5.0 标签实际上并不代表您从 CocoaPods 安装 3.5.0 时获得的内容。 唉,随着我们的前进,这种情况应该会得到补救。

3.7.0 版本基于实际发布的 3.5.0 podspec。

到 3.7.1 版本为止,此仓库中的版本号旨在与 GEOS 本身中的相应版本号相匹配。 从 4.0.0 版本开始,我们将打破这种模式,而是对这个构建配置本身使用语义版本控制,而不是尝试匹配底层的 geos 版本。 这使我们能够更灵活地改进构建配置,而无需考虑 geos 发布周期。

许可证

本仓库中提供的构建配置在 GPL 2.0 下获得许可。 有关完整详细信息,请参阅 LICENSE

Sources 目录的内容取自 GEOS 项目,该项目在 LGPL 2.1 下获得许可。 有关完整详细信息,请参阅 Sources/COPYING

开发

最常见的开发活动是更新到 GEOS 的新版本。 要开始

  1. 安装 cmake: $ brew install cmake
  2. 修改 update.sh 以指示您要使用的 GEOS 版本。
  3. 运行 update.sh
  4. 调试任何问题。 可能需要修改该脚本才能与该库的较新版本一起使用。 请使其保持最新状态,以便我们记录如何从 GEOS 源代码到本仓库中的最终结果。
  5. 更新 Package.swiftgeos.podspec 以确保继续支持 Swift Package Manager 和 CocoaPods。
  6. 在支持的配置的完整矩阵上测试所有更改 (Swift Package Manager, CocoaPods) x (iOS, macOS, tvOS, watchOS) + Swift Package Manager x Linux。
  7. 更新 geos.podspecREADME.md 中的版本号
  8. 使用任何相关信息更新此 README。