首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CoreTelephony获取运营商的名称只返回“运营商”

使用CoreTelephony获取运营商的名称只返回“运营商”
EN

Stack Overflow用户
提问于 2011-05-19 16:28:32
回答 2查看 2.6K关注 0票数 10

我尝试使用以下代码获取运营商名称(使用CoreTelephony):

代码语言:javascript
复制
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netinfo subscriberCellularProvider];
NSLog(@"Carrier Name: %@", [carrier carrierName]);

它返回"Carrier“。如果我进入iPhone设置,我的运营商名称在那里是正确的。我手机上的iOS是v4.2.1。

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2012-01-06 20:55:05

你真的得到了字符串"Carrier“或者是字符串空的吗?文档中写道:

如果符合以下任一条件,则此属性的值为nil:

设备处于飞行模式。设备中没有SIM卡。该设备不在手机服务范围内。

我打赌模拟器里也是空的。

无论如何,你应该检查mobileNetworkCode,,因为名称很少是正确的(至少在欧洲,操作员经常来来往往地更改他们的名称)。

票数 2
EN

Stack Overflow用户

发布于 2014-05-17 19:20:02

通过这个,你可以得到移动网络代码,移动国家代码。从这些值中,您可以指定哪个sim名称是this。

代码语言:javascript
复制
CTTelephonyNetworkInfo* info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier* carrier = info.subscriberCellularProvider;
NSString *mobileCountryCode = carrier.mobileCountryCode;
NSString *carrierName = carrier.carrierName;
NSString *isoCountryCode = carrier.isoCountryCode;
NSString *mobileNetworkCode = carrier.mobileNetworkCode;

您可以为此创建web服务,以指定此参数所属的网络的运营商名称。这些参数可以从该wikipedia中唯一标识。

例如,我的国家代码是"410",我的运营商网络是"06“,它正确地识别了我的运营商名称。

我也被同样的问题卡住了,现在解决了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6055835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档