为啥网络库无法检测到何时在 Swift Ios 中重新连接了互联网
Posted
技术标签:
【中文标题】为啥网络库无法检测到何时在 Swift Ios 中重新连接了互联网【英文标题】:Why does Network library fails to detect when internet is connected back in Swift Ios为什么网络库无法检测到何时在 Swift Ios 中重新连接了互联网 【发布时间】:2021-05-26 01:45:31 【问题描述】:我有以下代码来检测我的互联网连接状态
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”。这是某种错误还是我的代码有问题
【问题讨论】:
“何时连接互联网”? “检测我的互联网连接状态”? 它打印wifi,然后当我断开连接时打印noConnection,然后当我重新连接时再次打印noConnection 对不起,我不明白你的意思 这是行不通的。在我将 myMacBook 更新为 BigSur 之前它运行良好。这可能是问题所在吗?我也尝试了可达性,它是一样的。 【参考方案1】:所以这在真实设备上运行良好,但在模拟器上它不起作用。我正在使用 macos Big Sur 和 XCode 12.5
【讨论】:
以上是关于为啥网络库无法检测到何时在 Swift Ios 中重新连接了互联网的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法检测到我使用 UIKit Dynamics 推离屏幕的 UIView 何时不再可见?
如何使用 Swift 检测 iOS 应用程序何时出现在前台? [复制]