NetworkMonitor

NetworkMonitor 将 NWPathMonitor 封装成一个 Observable 对象。

Swift Package Manager License

要求

安装 (Pakage.swift)

dependencies: [
    .package(url: "https://github.com/0xWDG/NetworkMonitor.git", branch: "main"),
],
targets: [
    .target(name: "MyTarget", dependencies: [
        .product(name: "NetworkMonitor", package: "NetworkMonitor"),
    ]),
]

安装 (Xcode)

  1. 在 Xcode 中,打开你的项目,然后导航到 FileSwift PackagesAdd Package Dependency...
  2. 粘贴仓库 URL (https://github.com/0xWDG/NetworkMonitor) 并点击 Next
  3. 点击 Finish

用法

import SwiftUI
import NetworkMonitor

struct ContentView: View {
    @ObservedObject
    private var network = NetworkMonitor()

    var body: some View {
        VStack {
            Text("Hello!")
            Text("The network status is \(network.isConnected ? "Connected" : "Disconnected")")
            Text("You are using a \"\(network.isExpensive ? "Expensive" : "Normal")\" internet connection")

            HStack(spacing: 0) {
                Text("You are using \"")
                switch (network.networkType) {
                case .cellular:
                    Text("Celluar")
                case .wifi:
                    Text("Wifi")
                case .loopback:
                    Text("Loopback")
                case .other:
                    Text("Other")
                case .wiredEthernet:
                    Text("Wired")
                default:
                    Text("Unknown")
                }
                Text("\" to connect to the internet")
            }
        }.task {
            print(network.nwPath)
        }
    }
}

联系方式

🦋 @0xWDG 🐘 mastodon.social/@0xWDG 🐦 @0xWDG 🧵 @0xWDG 🌐 wesleydegroot.nl 🤖 Discord

想了解更多关于 Swift 的信息吗? 查看我的博客