-
apple 提供的 API ❌
let cellularData = CTCellularData()
cellularData.cellularDataRestrictionDidUpdateNotifier = { state in
print("-- state = ",state)
switch state {
case .notRestricted://无限制(允许无线局域网与蜂窝数据时)
break;
case .restricted://受限的(仅限无线网络时、不允许时)
break
case .restrictedStateUnknown://受限状态未知的
break
default:
break
}
}
❌ restricted:受限的。不能区分 仅限无线网络,还是 不允许 使用网络。
-
✅ Alamofire 推荐使用
import Alamofire
let networkManager = NetworkReachabilityManager()
let isReachable = networkManager?.isReachable
print("--- isReachable = ",isReachable)
networkManager?.startListening(onUpdatePerforming: { status in
switch status {
case .notReachable: // 无网络
print("-- 无网络")
case .unknown: // 未知
print("--未知")
case .reachable(let type): // wifi ,蜂窝
print("--有网")
}
})