如何解决我试图在我的应用程序中使用 NWPathMonitor,但如果我关闭互联网连接,它总是响应连接有什么建议吗?
我正在尝试使用 NWPathMonitor 来检测互联网连接。我的网络设置只是一个连接到移动 4G 网络的路由器和一个通过以太网连接到一个路由器 LAN 端口的 Mac。我的代码如下:
import Cocoa
import NetworkExtension
@available(macOS 10.14,*)
@objc class ModernInternetMonitor: NSObject {
@objc static let shared: ModernInternetMonitor? = ModernInternetMonitor()
private let monitor = NWPathMonitor()
override private init() {
super.init()
self.startMonitoring()
}
@objc func startMonitoring() {
monitor.pathUpdateHandler = { path in
if path.status == .satisfied {
print("Yay! We have internet!")
} else {
print("nope! We don't have internet!")
}
}
let queue = dispatchQueue.global(qos: .background)
monitor.start(queue: queue)
}
}
我想要做的是转到路由器 Web 界面并禁用 4G。然后,我希望 NWPathMonitor 能够检测到缺乏互联网连接并再次触发更新关闭报告没有互联网,但这不会发生。如果我重新启动应用程序并断开 4G 连接,它总是报告互联网连接已满足。让我的代码检测到互联网不足的唯一方法是,如果我转到网络首选项并删除我的以太网接口。在这种情况下,代码会正确报告缺乏连接。我一定是遗漏了一些重要的东西。我希望有更多专业知识的人可以带我走向正确的方向。感谢您的关注。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。