5

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

我正在尝试获取我的运营商的名称,我正在使用此代码

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

但我收到警告[carrier carrierName]:找不到实例方法“-carrierName”

我已经在我的项目中添加了框架核心电话,但是当我执行我的应用程序时它崩溃了!

谢谢大家!

4

3 回答 3

13

您是否明确导入了 CTCarrier?

#import <CoreTelephony/CTCarrier.h>
于 2011-11-15T16:20:19.563 回答
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 运营商测试 [357:707] 移动网络代码 = 97

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

2012-05-29 11:48:31.472 运营商测试 [357:707] 允许 VOIP = 1

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

似乎是字符串编码问题,因为我无法得到它?我不知道...

您可以尝试其他运营商的 SIM 卡。

于 2012-05-29T04:16:40.457 回答
0

尝试

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

反而。

于 2011-11-15T15:33:06.057 回答