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")")