7

我知道我可以使用 CTCarrier 类的以下属性获取运营商名称、MNC 和 MCC

carrierName
mobileCountryCode
mobileNetworkCode

这些详细信息是插入设备的 SIM 卡。有没有办法获得设备使用的网络的类似详细信息?

示例:SIM MCC 和 MNC 是 404 和 02。网络 MCC 和 MNC 可以是 404 和 02、404 和 03 等。


编辑:这就是我想要的。

我有一张位置 x 的 Vodafone 的 SIM 卡。MCC 和 MNC 分别是 404 和 30。现在,如果我前往位置 y,我的 SIM 卡可能会锁定到 Vodafone 或其他网络(有时称为漫游)

现在我想获取我的 sim 卡所锁定的网络的详细信息!!

4

2 回答 2

4

用 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);
于 2011-11-09T09:11:38.550 回答
2

它看起来目前不可能(iOS 5.0)。

CoreTelephony 框架是您可以找到此 API 的地方,正如您(和 Apple 的文档)所提到的,CTCarrier 属性只会为您提供用户的蜂窝服务提供商的详细信息,而不是当前网络。

您应该在http://bugreport.apple.com向 Apple 提交增强请求,并希望它们包含您在未来操作系统更新中寻找的内容。

出于好奇,你想用这些信息做什么?

于 2011-11-09T15:25:37.663 回答