将iOS 7常量映射到2G,3G,4G,LTE等

它似乎没有像我们可以确定在iOS 7之前的无线电接入技术….请纠正我,如果我错了。

考虑到以下iOS 7中可用的常量,有人可以validation哪个常数映射到哪个常规标准的2G,3G,4G,LTE等?

CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyGPRS __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyEdge __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyWCDMA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSDPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSUPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMA1x __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORev0 __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevB __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyeHRPD __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyLTE __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); 

实际上很难将上述无线接入标准确定为“2G”,“3G”等。

这是因为“2G”,“3G”,“4G”并不是真正的标准,而是标准的分组,在某些情况下,还有更多的营销条款。 它们也覆盖了核心networking架构,而不仅仅是无线接入networking,尽pipe后者更广泛的讨论。 一个非常简单的概述:

  • 1G – 模拟移动networking
  • 2G – 数字移动networking。 多个区域标准和变化(欧洲的GSM,NA的CDMA,日本的PDC等)
  • 3G–最初旨在提供更高速的数据访问,并规范各种接入技术。 事实上,以今天的标准(200kbs)来说,符合3G标准的数据速率相对较低,而一些演进的2G技术(有时也被称为2.5G,以EDGE为例)实际上符合3G速度的要求。 作为参考,国际电联IMT-2000规范中包含了原始定义,国际电联说:“在国际电联的领导下,经过十多年的努力,2000年做出了历史性的决定:一致通过了技术IMT-2000品牌下的第三代系统规格“。 我认为可以认为品牌“IMT-2000”失去了品牌“3G”…
  • 4G – 符合国际电联IMT新一代标准IMT-Advanced的networking名称。 在实践中,供应商和运营商正在使用该名称来指代不符合这些标准允许的数据速率水平的networking,但只要3G的性能提高很大,国际电联似乎已经允许这样做。 LTE和WiMAX属于这一领域。 从技术上讲,4G改变了无线电接入技术,降低了“扩频”系统,并且在接入和核心中消除了“电路交换”path的概念,转向了基于IP的全部分组传输(这是对于电话侧的重大改变networking)。

所以总的来说,这一切都有点混乱! 如果您有兴趣,有一份很好的国际电联文件可以更详细地描述这一点。

http://www.itu.int/ITU-D/tech/FORMER_PAGE_IMT2000/DocumentsIMT2000/What_really_3G.pdf

考虑到上述情况以及可能存在多个或多个对立映射的警告,下面是我认为您正在寻找的粗略映射:

  • CTRadioAccessTechnologyGPRS – 2G
  • CTRadioAccessTechnologyEdge – 2G(有时称为2.5G)
  • CTRadioAccessTechnologyWCDMA – 3G
  • CTRadioAccessTechnologyHSDPA – 3G(有时称为3.5G)
  • CTRadioAccessTechnologyHSUPA – 3G
  • CTRadioAccessTechnologyCDMA1x – 2G
  • CTRadioAccessTechnologyCDMAEVDORev0 – 3G
  • CTRadioAccessTechnologyCDMAEVDORevA – 3G
  • CTRadioAccessTechnologyCDMAEVDORevB – 3G
  • CTRadioAccessTechnologyeHRPD-3G(或3.5-eHRPD允许从CDMA EVDO迁移到LTE)
  • CTRadioAccessTechnologyLTE-4G(国际电联允许称为4G)

最后,如果你感兴趣的是连接将(一般…)快速或慢下面的答案提供了一个不错的方法: https ://stackoverflow.com/a/20840971/334402

从我今天的testing

CTRadioAccessTechnologyeHRPD适用于美国Veriazon的3G; CTRadioAccessTechnologyHSDPA是针对美国T-mobile的4G(非LTE)。