我尝试使用以下代码获取运营商名称(使用CoreTelephony):
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
NSLog(@"Carrier Name: %@", [carrier carrierName]);
它返回“载波”。如果我转到iPhone设置,那里的运营商名称是正确的。我在手机上的iOS版本为4.2.1。
我究竟做错了什么?
最佳答案
您是否真正获得字符串“ Carrier”或该字符串为空?文档说:
如果满足以下任一条件,则此属性的值为nil:
设备处于飞行模式。设备中没有SIM卡。
设备不在蜂窝服务范围内。
赌它在模拟器中也是空的。
无论如何,您应该检查mobileNetworkCode,因为名称很少正确(至少在欧洲,运营商来来往往地更改其名称)。