5

有没有办法从移动网络获取国家代码。我们可以通过代码获取设备中存在的 SIM 的国家名称吗?

请用一些工作代码帮助我。我检查了 CoreTelephony 框架,但 ddnt 获得了成功。

4

2 回答 2

19

编辑:使用 Xcode 6,只需添加这一行,甚至将框架链接到项目都是自动完成的:

@import CoreTelephony;

原文:将 CoreTelephony.framework 添加到您的项目中。在您的班级中添加以下两行:

#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>

这是代码:

CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];


// Get carrier name
NSString *carrierName = [carrier carrierName];
if (carrierName != nil)
    NSLog(@"Carrier: %@", carrierName);

// 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);

请注意,国家代码是数字代码,您可以在此处找到列表

于 2012-11-27T13:24:03.157 回答
1

它在 CoreTelephony 里面

CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];
于 2014-02-11T15:28:26.893 回答