检查 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)