GEOS
GEOS 是一个用于处理地理空间几何的 C++ 公开源库。在其 主页 上了解更多信息。此仓库通过 Swift Package Manager 和 CocoaPods 提供其 C 接口,因此您可以在 Swift 或 Objective-C 项目中使用它。它通常通过 GEOSwift 使用。
要求
- iOS 9.0+、macOS 10.9+、tvOS 9.0+、watchOS 2.0+(Swift Package Manager,CocoaPods)
- Linux(Swift Package Manager)
GEOS 根据 LGPL 2.1 许可协议授权,并且其与静态链接的兼容性至少是有争议的。不鼓励使用 geos 进行静态链接。
上游版本
GEOSwift/geos 8.1.0 安装包包含 libgeos/geos 3.11.2
使用 CocoaPods 安装
-
更新您的
Podfile
以包含use_frameworks! pod 'geos'
-
运行
$ pod install
使用 Swift Package Manager 安装
-
更新您的
Package.swift
顶级依赖以包含.package(url: "https://github.com/GEOSwift/geos.git", from: "8.1.0")
-
更新您的
Package.swift
目标依赖以包含"geos"
历史记录
从该存储库的 3.7.0 标签开始,这里的 Podspec 应该与 CocoaPods spec 存储库中的 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许可。有关详细信息,请参阅许可文件。
源代码目录的内容来自GEOS项目,该项目适用于LGPL 2.1许可。有关详细信息,请参阅Sources/COPYING。
开发
最常见的开发活动是将GEOS更新到新版本。
- 安装cmake:
$ brew install cmake
- 修改
update.sh
以指定您希望使用的GEOS版本。 - 运行
update.sh
- 调试任何问题。脚本可能需要修改才能与库的新版本一起工作。请保持其最新状态,以便我们可以了解如何从GEOS源到本仓库中最终结果的记录。
- 更新
Package.swift
和geos.podspec
以确保对Swift Package Manager和CocoaPods的持续支持。 - 在支持的完整配置矩阵上测试您的所有更改(Swift Package Manager、CocoaPods)x(iOS、macOS、tvOS、watchOS)+ Swift Package Manager x Linux。
- 更新
geos.podspec
和README.md
中的版本号。 - 使用任何相关信息更新此README。