ios - 为什么网络库无法检测到互联网何时在 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”。这是某种错误还是我的代码有问题
解决方案
所以这在真实设备上工作正常,但在模拟器上它不起作用。我正在使用 macos Big Sur 和 XCode 12.5
推荐阅读
- python - 如何更改 DateFrame 中的索引
- angular - 没有 *ngIf 的表单验证。如何在不创建新 div 的情况下使用表单验证(来自服务)
- algorithm - 动态规划寻找最小路径
- java - 如何在java中编写通用的mysql查询
- ios - 我可以从 GMSMarker 积分中获得 UIScreen 积分吗?
- go - 声明后无法导入
- time - BigQuery 上 Google Analytics 数据集的时间更新
- javascript - 将多选人员选择器字段中的用户添加到 SP 组
- linux - Linux用可变字符重命名?
- wordpress - Docker 中的 Wordpress 无法连接到 Internet