GTNetMon 1.0.1

GTNetMon 1.0.1

Gabriel Theodoropoulos 维护。



GTNetMon 1.0.1

GTNetMon

GTNetMon 是一个轻量级的 Swift 库,用于检测设备是否连接到互联网,它识别连接类型(Wi-Fi、蜂窝和网络等),并监视网络状态的变化。

使用 GTNetMon 类来访问所有可用的属性和方法。它是一个单例类,因此使用 shared 实例来访问其成员。

可用的属性包括

  • isConnected:指示设备是否连接到互联网。
  • connectionType:连接类型作为 GTNetMon.ConnectionType 值(见下文)。
  • availableConnectionTypes:在某个时刻设备可用的连接类型的集合。
  • isExpensive:当设备通过蜂窝网络连接到互联网时,指示连接是昂贵的。注意,当在 iOS 版本 >= 12.0 中使用时,此标志更准确。
  • isMonitoring:它指示是否正在监视网络状态的变化。

除了上述属性外,还有以下两个方法

  • startMonitoring():它开始监视网络状态的变化。
  • stopMonitoring():它停止监视网络状态的变化。

重要

  1. 建议在 AppDelegate 类的 applicationDidBecomeActive(_:)applicationWillResignActive(_:) 方法中分别开始和停止监控。
  2. 类如果想要接收监控网络状态变化的通知,应该观察 GTNetMonNetworkStatusChangeNotification 通知。每当连接发生变化时,都会发布该通知。

其它

在 iOS >= 12.0 中,使用 iOS SDK 中的新 Network 框架来检索网络信息。在较旧的 iOS 版本中,则使用 SCNetworkReachability API。

关于 GTNetMon.ConnectionType

GTNetMon.ConnectionType 是一个具有以下情况的 枚举

  • Wi-Fi
  • 蜂窝
  • 有线以太网
  • 其他
  • 未定义