9

我试过这段代码:

CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
if(carrier != nil)
{
    NSString *mnc = [carrier mobileNetworkCode];
    NSLog(@" mnc is %@ ", mnc);
}

当运营商是 AT&T 时,它按我的预期工作。我的mnc是410。

但是,当运营商是Verizon。我得到“mnc 是 VZW”。 这是 API 的正确行为吗?我可以获得数字移动网络代码的任何其他方式吗?

注意:Apple 的文档说该方法应该返回......

一个只读 NSString 对象,表示用户的蜂窝服务提供商的数字移动网络代码。

我不确定我做错了什么或者我的手机出了什么问题:-)

4

2 回答 2

2

不知道你用的是什么型号。在使用 iPhone 4 (iOS 6) 进行测试时,我也得到了 VZW。AFAIK,这是获得跨国公司的唯一途径。

于 2013-04-10T00:02:07.297 回答
0

我已经看到 480 和 VZW 在 Verizon 设备上返回。其他一些网络有时也会返回 3 个字母代码,例如 SPR 代表 sprint。

于 2014-10-12T23:47:40.320 回答