适用于 Swift 的 NetUtils

Swift Version 4 Swift Version 5 CocoaPods Version Badge License Badge Supported Platforms Percentage Documented Badge Carthage compatible Swift Package Manager compatible Swift Build Xcode Build Join the chat at https://gitter.im/NetUtils-for-Swift/Lobby

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