Как получить код страны моего устройства iPhone без использования GPS или службы определения местоположения?

Мне нужна помощь... Я новичок в разработке приложений для iPhone и работаю над страницей регистрации.Сценарий:->

  1. Услуги определения местоположения отключены.
  2. Два текстовых поля, одно для телефонного кода страны и другое для телефонного номера.
  3. Когда откроется страница регистрации, код страны должен автоматически заполняться кодом страны устройства.

Проблема:-> У меня проблемы с получением кода страны из информации об устройстве.Кроме того, какую информацию я могу использовать для того же... IMEI, MDN, Locale и т.д...


Любой ответ приветствуется!

1 ответ

Вы можете получить эту информацию из платформы CoreTelephony iOS:

#import <CoreTelephony/CTTelephonyNetworkInfo.h>

...

@property (nonatomic, strong) CTTelephonyNetworkInfo* networkInfo;

...

self.networkInfo = [[CTTelephonyNetworkInfo alloc] init];

NSString* country = [self.networkInfo subscriberCellularProvider].isoCountryCode;

Я быстро скопировал это из одного из моих приложений. Я надеюсь, что вы можете преобразовать это в Swift, если вам нужно.

subscriberCellularProvider дает доступ к CTCarrierобъект, который имеет больше полей, чем просто код страны: MCC, MNC, имя оператора и флаг, если VoIP разрешен.

iOS не дает доступа к IMEI.

Интерфейс API покупки в приложении может сказать вам, в каком iTunes Store находится пользователь; снова код страны ISO. Возможно, вам нужно активировать IAP для вашего приложения, поэтому, когда вы ничего не продаете, это может быть запрещено / опция.

Текущий язык также может дать вам код страны:

let locale  = NSLocale.currentLocale()
let country = currentLocale.objectForKey(NSLocaleCountryCode) as? String 
Другие вопросы по тегам