Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何检查设备是LTE、3G、HSPA还是Wi-Fi?_Iphone_Ios_Xcode_Cocoa Touch_Cellular Network - Fatal编程技术网

Iphone 如何检查设备是LTE、3G、HSPA还是Wi-Fi?

Iphone 如何检查设备是LTE、3G、HSPA还是Wi-Fi?,iphone,ios,xcode,cocoa-touch,cellular-network,Iphone,Ios,Xcode,Cocoa Touch,Cellular Network,当用户与我的应用程序交互时,是否可以确定设备上的网络类型 现在我有了可达性等级,我可以区分Wi-Fi和蜂窝网络,但如何检查蜂窝网络是否为LTE、3G、HSPA、EDGE?目前无法区分不同类型的蜂窝网络 有关更多信息,请参阅。从iOS7开始,可以使用CTTelephonyNetworkInfo()获得有关蜂窝连接的信息: currentRadioAccessTechnology将显示一个描述连接类型的字符串。我不建议这样做。仅仅因为你有一个低LTE连接,它不能保证比3G连接快。我不在乎LTE网络有

当用户与我的应用程序交互时,是否可以确定设备上的网络类型


现在我有了可达性等级,我可以区分Wi-Fi和蜂窝网络,但如何检查蜂窝网络是否为LTE、3G、HSPA、EDGE?

目前无法区分不同类型的蜂窝网络


有关更多信息,请参阅。

从iOS7开始,可以使用CTTelephonyNetworkInfo()获得有关蜂窝连接的信息:


currentRadioAccessTechnology将显示一个描述连接类型的字符串。

我不建议这样做。仅仅因为你有一个低LTE连接,它不能保证比3G连接快。我不在乎LTE网络有多快。最终它比HSPA和EDGE更快,对吗?不,LTE有能力比其他技术更快。例如,在奥地利山区使用3G时,您将获得比使用EDGE更低的下载速率。这是因为3G信号非常糟糕,但它仍然存在,所以iPhone将尝试使用它。同样的情况也发生在尚未完成的LTE网络上。简而言之:LTE可以比3G慢,3G可以比EDGE慢,等等。在大多数情况下,真正的下载速率比蜂窝网络类型的信息量要大得多。那么你有什么建议呢?要不区分任何蜂窝网络,只需区分蜂窝网络和wi-fi?取决于您需要区分的内容。您可以测量下载速率,也可以仅区分手机和wi-fi。
let info = CTTelephonyNetworkInfo()
print(“carrierName": " + "\(info.subscriberCellularProvider?.carrierName ?? "Has not been configured for carrier")")
print(“currentRadioAccessTechnology: " + "\(info.currentRadioAccessTechnology ?? "Airplane Mode/No cell connection")")