一个 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 许可证发布。