NetworkMonitor 将 NWPathMonitor 封装成一个 Observable 对象。
dependencies: [
.package(url: "https://github.com/0xWDG/NetworkMonitor.git", branch: "main"),
],
targets: [
.target(name: "MyTarget", dependencies: [
.product(name: "NetworkMonitor", package: "NetworkMonitor"),
]),
]
https://github.com/0xWDG/NetworkMonitor
) 并点击 Next。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 的信息吗? 查看我的博客。