ios - 将 iOS 7 常量映射到 2G、3G、4G、LTE 等

标签 ios 3g lte 4g

在 iOS 7 之前,我们似乎无法确定 radio 接入技术......如果我错了,请纠正我。

考虑到 iOS 7 中可用的以下常量,有人可以验证哪些常量映射到 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);

最佳答案

实际上很难将上述 radio 接入标准明确映射到“2G”、“3G”等。

这是因为“2G”、“3G”、“4G”并不是真正的标准,而是标准的分组,在某些情况下实际上是更多的营销术语。它们还涵盖了核心网络架构,而不仅仅是 radio 接入网络,尽管后者的讨论更为普遍。一个非常简单的概述:

  • 1G - 模拟移动网络
  • 2G - 数字移动网络。多种区域标准和变体(欧洲的 GSM、北美的 CDMA、日本的 PDC 等)
  • 3G - 最初旨在提供更高速的数据访问并规范各种访问技术。事实上,按照今天的标准 (200kbs),符合 3G 标准的数据速率相对较低,一些演进的 2G 技术,有时称为 2.5G,例如 EDGE,实际上满足 3G 速度要求。作为引用,原始定义包含在 ITU IMT-2000 规范中,ITU 自己说:“在 ITU 的领导下经过十多年的努力,2000 年做出了一项历史性的决定:一致批准技术IMT-2000 品牌下的第三代系统规范。”我认为可以说“IMT-2000”品牌输给了“3G”品牌......
  • 4G - 这是符合下一代 ITU IMT 标准(名为 IMT-Advanced)的网络的名称。实际上,供应商和运营商使用该名称来指代不符合这些标准所允许的数据速率水平的网络,但只要 3G 的性能增益很大,ITU 似乎就允许这样做。 LTE 和 WiMAX 属于这一领域。从技术上讲,4G 改变了 radio 接入技术,放弃了“扩频”系统,并消除了接入和核心中的“电路交换”路径的概念,转向了基于全分组 IP 的传输(这对网络的电话端来说是一个重大变化)网络)。

所以总而言之,这有点令人困惑!如果您有兴趣,有一份很好的 ITU 文件可以更详细地说明这一点:

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

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

  • CT radio 接入技术GPRS - 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(如上文所述,ITU 允许将其称为 4G)

最后,如果您只对连接(通常...)快还是慢感兴趣,那么以下答案提供了一个不错的方法: https://stackoverflow.com/a/20840971/334402

关于ios - 将 iOS 7 常量映射到 2G、3G、4G、LTE 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405566/

相关文章:

iphone - 在 drawRect : of UIView 之外的 iOS 中为 CGLayer 创建窗口图形上下文

iphone - Xcode 4.3 和在 iOS 3.x 设备上调试

iphone - 在iPhone中使用3G来电的Pjsip在UDP中时没有音频

lte - 使用 RestComm Jdiameter 实现 s6a 直径端点

smartcard - 智能卡和 SIM 卡有什么区别?

ios - 在应用程序中收到通知时,PFInstallation 不是最新的

ios - Xcode:iOS 应用程序在启动时总是突然崩溃

ios - 通过 iOS 应用程序将图像上传到 Salesforce

ios5 - 在 3G 连接上与 IOS5.1 的 SSL 连接失败

watchkit - 使用LTE在Apple Watch上发出URLSession请求时"The Internet connection appears to be offline"