有什麼辦法從移動網絡獲取國家代碼。我們可以通過代碼獲取設備中SIM的國家名稱嗎?在編程中使用iPhone中的移動運營商識別國家代碼?
請幫我拿出一些工作代碼。我檢查了CoreTelephony框架,但ddnt獲得成功。
在此先感謝!
有什麼辦法從移動網絡獲取國家代碼。我們可以通過代碼獲取設備中SIM的國家名稱嗎?在編程中使用iPhone中的移動運營商識別國家代碼?
請幫我拿出一些工作代碼。我檢查了CoreTelephony框架,但ddnt獲得成功。
在此先感謝!
編輯:在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);
注意,國家代碼是數字代碼,你可以找到列表here
我見過其他問題上的意見,表明返回的信息是手機鎖定的運營商,而不是漫遊時使用的運營商。例如:http://stackoverflow.com/questions/853467/retreiving-carrier-name-from-iphone-programmatically嗯..進一步閱讀表明mnc確實在漫遊時改變。 –
我試過我的iPhone 4S設備上面的代碼,它工作正常 –
@Giusseppe iPichy ..你是否正在漫遊到另一家運營商? –
這裏面CoreTelephony
CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];
確定使用位置的用戶的位置ns API。使用一些web服務來解決該國家,因此解決該地點的國家代碼。 –
但我的要求是從不使用GPS位置的移動運營商獲取國家代碼。 –
有沒有辦法做到這一點,無論如何不'合法'..如果你試圖嗅探大多數用戶的模擬信息,蘋果很可能會拒絕你的應用程序。 –