NetworkReachability 是 Apple SystemConfiguration 网络连接性 (Network Reachability) API 的替代品。由于这些 API 最初是用 C 语言编写的,因此它们相当陈旧,并且在 Swift 中使用起来很麻烦。在 2018 年,Apple 添加了 Network 框架,该框架引入了 NWPathMonitor
类。这个 API 解决了一些 SCNetworkReachability
的问题,但仍然难以集成到许多常用的应用程序模式中。NetworkReachability 将这两个 API 封装在易于使用的 Swift 包装器中,这些包装器具有类似的接口和功能,大多数 iOS 开发人员都会感到熟悉。使用 NetworkReachability,您只需几行代码即可轻松地将连接性观察集成到应用程序的管道中。
NetworkReachability 支持同步连接性查询,以及通过以下机制进行的持续异步连接性观察
NetworkReachability 通过一个可选的附加包支持 RxSwift 绑定:NetworkReachabilityRxSwift。这个可选包的存在是为了让您可以安全地依赖 NetworkReachability,而无需在不需要 RxSwift 的情况下也依赖它。 NetworkReachability 本身没有任何非 Apple 依赖项。
NetworkReachability 目前仅通过 Swift Package Manager 分发。
要将 NetworkReachability 作为依赖项添加到现有的 Swift 包,请将以下代码行添加到 Package.swift
文件的 dependencies
参数中
dependencies: [
.package(url: "https://github.com/vsanthanam/NetworkReachability.git", from: "1.0.0")
]
要将 NetworkReachability 作为依赖项添加到 Xcode 项目
File
→ Add Packages...
https://github.com/vsanthanam/NetworkReachability.git
并选择您需要的版本。未来可能会添加其他分发机制,如 CocoaPods 或 Carthage。
NetworkReachability 的文档使用 DocC 构建,并作为 DocC 存档包含在存储库中。最新版本托管在 GitHub Pages 上,并可在此处 访问。
其他安装说明可在 Swift Package Index 上找到
NetworkReachability 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。