问题
It does not appear as though we can determine the radio access technology on iOS before 7....please correct me if I am wrong.
Considering the following constants available in iOS 7, can someone verify which constant maps to which general standard 2G, 3G, 4G, LTE etc?
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);
回答1:
It is actually very hard to map the above radio access standards definitively to '2G', '3G' etc.
This is because '2G', '3G' '4G' are not really standards, but groupings of standards, and in some cases really more marketing terms. They also cover the core network architecture and not just the radio access network, although the latter is more generally discussed. A very simple overview:
- 1G - Analogue Mobile Networks
- 2G - Digital mobile networks. Multiple regional standards and variations (GSM in Europe, CDMA in NA, PDC in Japan etc)
- 3G - Originally intended to provide higher speed data access and to normalise the various access technologies. In fact the data rate to qualify as 3G is relatively low by today's standards (200kbs) and some evolved 2G technologies, sometimes referred as 2.5G with EDGE being an example, actually meet the 3G speed requirements. For reference the original definitions are included in the ITU IMT-2000 specification and the ITU say themselves: "After over ten years of hard work under the leadership of the ITU, a historic decision was taken in the year 2000 : unanimous approval of the technical specifications for third generation systems under the brand IMT-2000." I think it could be argued that the brand 'IMT-2000' lost out to the brand '3G'...
- 4G - This is the name for networks that comply with the next generation of the ITU IMT standard, named IMT-Advanced. In practice the name is being used by vendors and operators to refer to networks which do not meet the data rate levels these standards allow, but this seems to have been allowed by the ITU so long as the performance gain over 3G is substantial. LTE and WiMAX fall into this area. Technically 4G changes the radio access technology, dropping 'spread spectrum' systems and removes the concept of 'circuit switched' paths in the access and core, moving to an all packet IP based transport (this is a significant change for the telephony side of the networks).
So in summary, it is all a bit confusing! There is a good ITU document which captures this in much more detail if you are interested:
http://www.itu.int/ITU-D/tech/FORMER_PAGE_IMT2000/DocumentsIMT2000/What_really_3G.pdf
With the above in mind, and the warning that there may be multiple or altrenative mappings, below is a rough mapping along the lines I think you were looking for:
- CTRadioAccessTechnologyGPRS - 2G
- CTRadioAccessTechnologyEdge - 2G (sometimes called 2.5G)
- CTRadioAccessTechnologyWCDMA - 3G
- CTRadioAccessTechnologyHSDPA - 3G (sometimes called 3.5G)
- CTRadioAccessTechnologyHSUPA - 3G
- CTRadioAccessTechnologyCDMA1x - 2G
- CTRadioAccessTechnologyCDMAEVDORev0 - 3G
- CTRadioAccessTechnologyCDMAEVDORevA - 3G
- CTRadioAccessTechnologyCDMAEVDORevB - 3G
- CTRadioAccessTechnologyeHRPD - 3G (or 3.5 - eHRPD is to allow migration from CDMA EVDO to LTE)
- CTRadioAccessTechnologyLTE - 4G (allowed to be called 4G by the ITU as mentioend above)
Finally, if all you are interested in is whehter the connection will be (generaly...) fast or slow the following answer provides a nice approach: https://stackoverflow.com/a/20840971/334402
回答2:
From my today testing
CTRadioAccessTechnologyeHRPD is for USA Veriazon's 3G; CTRadioAccessTechnologyHSDPA is for USA T-mobile's 4G (Non-LTE).
来源:https://stackoverflow.com/questions/25405566/mapping-ios-7-constants-to-2g-3g-4g-lte-etc