Получить сеть MNC и MCC

Я знаю, что могу получить имя перевозчика, MNC и MCC, используя следующие свойства класса CTCarrier.

carrierName
mobileCountryCode
mobileNetworkCode

Эти данные касаются SIM-карты, вставленной в устройство. Есть ли способ получить аналогичные данные о сети, используемой устройством?

Пример: SIM MCC и MNC - 404 и 02. Сеть MCC и MNC может быть 404 и 02, 404 и 03 и т. Д.


Изменить: вот что я хочу.

У меня есть сим-карта Vodafone местоположения х. MCC и MNC - 404 и 30 соответственно. Теперь, если я путешествую в местоположение y, мой сим может привязаться либо к Vodafone, либо к другой сети (иногда называемой роумингом)

Теперь я хочу узнать подробности сети, к которой привязан мой сим!!

2 ответа

Решение

Это не похоже, что это в настоящее время возможно (iOS 5.0).

В инфраструктуре CoreTelephony вы найдете этот API, и, как вы (и документация Apple) упоминаете, свойства CTCarrier позволяют получить информацию только о поставщике сотовых услуг пользователя, а не о текущей сети.

Вам следует подать запрос на улучшение в Apple по адресу http://bugreport.apple.com/ и, надеюсь, они включат то, что вы ищете, в будущем обновлении ОС.

Из любопытства, что вы пытаетесь сделать с этой информацией?

По словам Джона Мухова, из его статьи здесь:

С выпуском 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);
Другие вопросы по тегам