Как получить код страны моего устройства iPhone без использования GPS или службы определения местоположения?
Мне нужна помощь... Я новичок в разработке приложений для iPhone и работаю над страницей регистрации.Сценарий:->
- Услуги определения местоположения отключены.
- Два текстовых поля, одно для телефонного кода страны и другое для телефонного номера.
- Когда откроется страница регистрации, код страны должен автоматически заполняться кодом страны устройства.
Проблема:-> У меня проблемы с получением кода страны из информации об устройстве.Кроме того, какую информацию я могу использовать для того же... 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