iOS我无法获取我的运营商名称

如此处所述 – >以编程方式从iPhone中检索运营商名称

我试图让我的运营商的名字,我使用这个代码

CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init]; CTCarrier *carrier = [netinfo subscriberCellularProvider]; NSLog(@"Carrier Name: %@", [carrier carrierName]); [netinfo release]; 

但我收到一个警告[carrier carrierName] :实例方法'-carrierName'找不到

我已经添加和框架coretelephony到我的项目,但是当我执行我的应用程序崩溃!

谢谢大家!

你有没有明确导入CTCarrier?

 #import <CoreTelephony/CTCarrier.h> 

我也有同样的问题,并尝试通过设备login:

 NSLog(@"carrierName = %@",carrier.carrierName); NSLog(@"mobileCountryCode = %@",carrier.mobileCountryCode); NSLog(@"mobileNetworkCode = %@",carrier.mobileNetworkCode); NSLog(@"isoCountryCode = %@",carrier.isoCountryCode); NSLog(@"allowVOIP = %d",carrier.allowsVOIP); 

结果:

2012-05-29 11:48:31 4.66 carrierTest [357:707] mobileCountryCode = 466

2012-05-29 11:48:31.469 carrierTest [357:707] mobileNetworkCode = 97

2012-05-29 11:48:31.470 carrierTest [357:707] isoCountryCode = tw

2012-05-29 11:48:31.472 carrierTest [357:707] allowVOIP = 1

运行堆栈中的对象carrierName是“…..”,实际上应该是“台湾大哥大”

它似乎是string编码问题,因为我无法得到它? 我不知道…

您可以尝试其他载体的SIM卡。

尝试

 NSLog(@"Carrier Name: %@", carrier.carrierName); 

代替。