一个 Swift 库,旨在简化获取关于您的网络接口及其属性的信息,适用于 iOS、macOS 和 Linux。该库是对 BSD API(如 getifaddrs
)的封装,使其易于从 Swift 中使用。
在 macOS 或 iOS 上集成此库的推荐方式是使用 CocoaPods:https://cocoapods.org.cn/pods/NetUtils。在 Linux 上,我建议使用 Swift Package Manager。
此库同时适用于 Swift 4 和 Swift 5。
某些系统 API 可以直接从 Swift 中使用,但另一些则不行。区别在于,有些 API 作为模块提供,而有些则不是。关于网络接口的 API 没有作为模块公开,这意味着您无法在不自行定义模块的情况下从 Swift 中使用它们。我在一篇博客文章中详细记录了这个问题。
此库可以通过 CocoaPods、Carthage 和 Swift Package Manager 安装。
此模块仅包含一个类:Interface
。此类代表一个网络接口。它有一个静态方法来列出所有接口,名称有点令人惊讶地叫做 allInterfaces()
。这将返回一个 Interface
对象数组,其中包含诸如 IP 地址、族、它们是否已启动并运行等属性。
请注意,IPv4 和 IPv6 接口均受支持。
本项目根据 MIT 许可证发布。