如此处所述 - > Retrieving Carrier Name from iPhone Programmatically
我正在尝试获取我的运营商名称,我正在使用此代码
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
NSLog(@"Carrier Name: %@", [carrier carrierName]);
[netinfo release];
但我在[carrier carrierName]
收到警告:未找到实例方法'-carrierName'
我已经将框架coretelephony添加到我的项目中,但是当我执行我的应用程序时它会崩溃!
感谢所有人!
答案 0 :(得分:13)
您是否明确导入CTCarrier?
#import <CoreTelephony/CTCarrier.h>
答案 1 :(得分:1)
我也遇到同样的问题,并尝试按设备登录:
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.466 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在运行堆栈中是“.....”,实际上它应该是“台湾大哥大”
它看起来像字符串编码问题导致我无法得到它?我不知道......
您可以尝试其他运营商SIM卡。
答案 2 :(得分:0)
尝试
NSLog(@"Carrier Name: %@", carrier.carrierName);
代替。