检查 Internet 连接不起作用
Checking for Internet connection does not work
我正在尝试检查我的应用程序中的互联网连接,目前,我有以下代码:
private let monitor: NWPathMonitor
monitor.pathUpdateHandler = { [weak self] path in
print(path.status)
self?.isConnected = path.status == .satisfied
}
但是,这不起作用。具体来说,print 并没有打印出调试控制台中的值。
你能告诉我我做错了什么吗?
谢谢。
这是适合我的(SwiftUI,抱歉)测试代码。
您可以出于您的目的回收一些代码。
import SwiftUI
import Foundation
import Network
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
let monitor = NWPathMonitor()
var body: some View {
Text("testing")
.onAppear {
let queue = DispatchQueue(label: "monitoring")
monitor.start(queue: queue)
monitor.pathUpdateHandler = { path in
print(path.status)
if path.status == .satisfied {
print("-----> YES connected")
} else {
print("-----> NOT connected")
}
}
}
}
}
您也可以使用特定的monitor
,例如let monitor = NWPathMonitor(requiredInterfaceType: .wifi)
我正在尝试检查我的应用程序中的互联网连接,目前,我有以下代码:
private let monitor: NWPathMonitor
monitor.pathUpdateHandler = { [weak self] path in
print(path.status)
self?.isConnected = path.status == .satisfied
}
但是,这不起作用。具体来说,print 并没有打印出调试控制台中的值。
你能告诉我我做错了什么吗?
谢谢。
这是适合我的(SwiftUI,抱歉)测试代码。 您可以出于您的目的回收一些代码。
import SwiftUI
import Foundation
import Network
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
let monitor = NWPathMonitor()
var body: some View {
Text("testing")
.onAppear {
let queue = DispatchQueue(label: "monitoring")
monitor.start(queue: queue)
monitor.pathUpdateHandler = { path in
print(path.status)
if path.status == .satisfied {
print("-----> YES connected")
} else {
print("-----> NOT connected")
}
}
}
}
}
您也可以使用特定的monitor
,例如let monitor = NWPathMonitor(requiredInterfaceType: .wifi)