5

モバイル ネットワークから国コードを取得する方法はありますか。デバイスに存在する SIM の国名をコードで取得できますか?

いくつかの実用的なコードでこれを手伝ってください。CoreTelephony Framework を確認しましたが、成功しませんでした。

4

2 に答える 2

19

編集: Xcode 6 では、この行を追加するだけで、フレームワークをプロジェクトにリンクすることさえ自動的に行われます。

@import CoreTelephony;

オリジナル: CoreTelephony.framework をプロジェクトに追加します。クラス内に次の 2 行を追加します。

#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 に答える