我知道我可以使用CTCarrier类的以下属性获得运营商名称,MNC和MCC
carrierName
mobileCountryCode
mobileNetworkCode
这些详细信息是插入设备的SIM卡。是否有一种方法可以获得设备使用的网络的类似细节?
的例子:SIM MCC和MNC分别是404和02。网络MCC和MNC可以是404和02,404和03等。
编辑:这就是我想要的
我有一张位置x的沃达丰sim卡,MCC和MNC分别是404和30。现在,如果我旅行到位置y,我的sim卡可能会锁定到沃达丰或其他网络(有时称为漫游)
现在我想获得我的sim卡锁定的网络的详细信息!!
引用John Muchow的文章:
随着iOS 4的发布,Apple引入了两个新的框架获取运营商信息。CTCarrier提供了关于包括运营商名称,移动网络代码和移动运营商代码。CTTelephonyNetworkInfo是要访问的通道通过CTCarrier获取信息,这个类也提供更新通知器,如果您需要检测对单元格中的更改的更改提供商信息,例如,如果用户交换了那里的SIM卡卡。
// Setup the Network Info and create a CTCarrier object CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease]; CTCarrier *carrier = [networkInfo subscriberCellularProvider]; // Get mobile country code NSString *mcc = [carrier mobileCountryCode]; if (mcc != nil) NSLog(@"Mobile Country Code (MCC): %@", mcc); // Get mobile network code NSString *mnc = [carrier mobileNetworkCode]; if (mnc != nil) NSLog(@"Mobile Network Code (MNC): %@", mnc);
目前看来不太可能(iOS 5.0)。
CoreTelephony框架是你可以找到这个API的地方,正如你(和苹果的文档)提到的,CTCarrier属性只能得到用户的蜂窝服务提供商的详细信息,而不是当前的网络。
你应该在http://bugreport.apple.com向苹果公司提交增强请求,希望他们在未来的操作系统更新中包含你所寻找的内容。
出于好奇,你想用这些信息做什么?