获取网络 MNC 和 MCC

发布于 2024-12-14 05:11:17 字数 432 浏览 0 评论 0 原文

我知道我可以使用 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 锁定到的网络的详细信息!

I know I can get the carriers Name, MNC and MCC using the following properties of the CTCarrier Class

carrierName
mobileCountryCode
mobileNetworkCode

These details are of the SIM inserted into the device. Is there a way to get similar details of the network used by the device?

Example:
The SIM MCC and MNC are 404 and 02.
The Network MCC and MNC could be 404 and 02, 404 and 03 etc.


Edit: Here's what I want.

I have a sim card of Vodafone of location x. The MCC and MNC is 404 and 30 respectively.
Now if I travel to location y, my sim may latch to either Vodafone or some other network (sometimes called roaming)

Now I want to get the details of the network my sim is latched to!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清浅ˋ旧时光 2024-12-21 05:11:17

用 John Muchow 的话来说,摘自他的文章 此处

随着 iOS 4 的发布,Apple 引入了两个新框架
获取运营商信息。 CTCarrier 提供有关
蜂窝提供商,包括运营商名称、移动网络代码和
移动运营商代码。 CTTelephonyNetworkInfo 是访问的通道
通过 CTCarrier 获取信息,该类还提供了更新
如果您需要检测蜂窝变化的变化,则通知器
提供商信息,例如,如果用户更换 SIM 卡
卡。

// 设置网络信息并创建 CTCarrier 对象
CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease];
CTCarrier *运营商 = [networkInfo SubscriberCellularProvider];

// 获取手机国家代码 
NSString *mcc = [运营商移动国家代码];
if (mcc != nil)
   NSLog(@"移动国家代码(MCC):%@", mcc);

// 获取移动网络代码
NSString *mnc = [运营商移动网络代码];
if (mnc != nil)
   NSLog(@"移动网络代码(MNC):%@", mnc);

In the words of John Muchow, from his article here:

With the release of iOS 4, Apple introduced two new frameworks for
obtaining carrier information. CTCarrier offers information about the
cellular provider including the carrier name, Mobile Network Code and
Mobile Carrier Code. CTTelephonyNetworkInfo is the channel to access
information through CTCarrier, this class also provides an update
notifier if you need to detect changes to a changes in cellular
provider information, for example, if the user swaps out there SIM
card.

// 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);
沫尐诺 2024-12-21 05:11:17

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

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

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

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

It doesn't look like it's currently possible (iOS 5.0).

The CoreTelephony framework is where you would find this API, and as you (and Apple's documentation) mention, the CTCarrier properties only get you details for the user's cellular service provider, not the current network.

You should file an enhancement request with Apple at http://bugreport.apple.com and hopefully they include what you're looking for in a future OS update.

Out of curiosity, what are you trying to do with this information?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文