首页 > 解决方案 > 为什么网络库无法检测到互联网何时在 Swift Ios 中重新连接

问题描述

我有以下代码来检测我的互联网连接状态

  override func viewDidLoad() {
    super.viewDidLoad()
    internetStatus()
    
    // Do any additional setup after loading the view.
    
 }
 func internetStatus(){

    let nwPathMonitor = NWPathMonitor()
    nwPathMonitor.start(queue: DispatchQueue(label: "network_monitor"))
    nwPathMonitor.pathUpdateHandler = { path in
       
        if (path.status == .satisfied){
            if (path.usesInterfaceType(.wifi)){
                print("wifi")
            }
            if (path.usesInterfaceType(.cellular)){
                print("cellular")
            }
        }
        if (path.status == .unsatisfied)
        {
            print("noConnection")
        }
        if (path.status == .requiresConnection){
            
        }
    }
}

这工作正常,但在 iOs 模拟器上我无法检测到重新连接。当我断开连接时会打印“noConnection”,但当我连接时会再次打​​印“noConnection”。这是某种错误还是我的代码有问题

标签: iosswiftreachability

解决方案


所以这在真实设备上工作正常,但在模拟器上它不起作用。我正在使用 macos Big Sur 和 XCode 12.5


推荐阅读