gpt4 book ai didi

ios - 观察 WiFi/3G 变化

转载 作者:搜寻专家 更新时间:2023-11-01 06:06:22 25 4
gpt4 key购买 nike

是否可以观察到用户何时在 WiFi 和蜂窝数据(3G/4G)之间切换?

也许 Reachability 中有一些东西,但我不知道是什么。

最佳答案

我认为最简单的方法是导入 CoreTelephony 并观察 CTRadioAccessTechnologyDidChangeNotification,然后像这样切换:

let networkInfo = CTTelephonyNetworkInfo()
let radio = networkInfo.currentRadioAccessTechnology

guard let currentRadio = radio else {
print("No radio info available")
return
}

switch currentRadio {
case CTRadioAccessTechnologyLTE,
CTRadioAccessTechnologyHSDPA: //3.5G "T-Mobile 4G"
print("This is 4G / LTE")
case CTRadioAccessTechnologyeHRPD, //3.5G "Verizon 3G"
CTRadioAccessTechnologyHSUPA,
CTRadioAccessTechnologyWCDMA,
CTRadioAccessTechnologyCDMAEVDORev0,
CTRadioAccessTechnologyCDMAEVDORevA,
CTRadioAccessTechnologyCDMAEVDORevB:
print("This is 3G")
case CTRadioAccessTechnologyGPRS,
CTRadioAccessTechnologyCDMA1x
CTRadioAccessTechnologyEdge:
print("This is 2G")
default:
print("Unknown cellular network type")
}

如果您在监听该通知的同时还使用标准可达性,则可以使用此开关来获取蜂窝网络类型。您将需要 currentReachabilityStatus 来独立检查 WiFi 连接。据我所知,在 Swift 中你需要设置一个桥接头来使用 Apple 的 Reachability 类,但是 github 上也有可用的 Swift 实现。

关于ios - 观察 WiFi/3G 变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36206389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com