Как получить информацию о стране пользователя

StackOverflow https://stackoverflow.com/questions/2803944

  •  25-09-2019
  •  | 
  •  

Вопрос

В основном мне необходимо определить страну пользователя при запуске приложения и включить или отключить функцию на основе местоположения в моем приложении на основе его / ее страны. Мне нужно сделать это как можно быстрее в делегате приложения до загрузки RootViewController. Есть ли в любом случае делать это в iPhone SDK ??

Это было полезно?

Решение

Вам нужно имя страны, которую устройство физически находится в то время как приложение работает?

Или вы могли бы сделать с системой Locale, устройство используется, например, en_US или FR_CA?

Если последний, вы можете:

NSLocale *currentUsersLocale = [NSLocale currentLocale];  
NSString *currentLocaleID = [currentUsersLocale localeIdentifier];`

потом currentLocaleID будет "en_US" или "fr_CA" или похожие.

В противном случае вам нужно будет использовать Корилокацию и некоторую форму обратного геокодера для преобразования вашей латы / длинного в название страны.

MKREVIREGEOCODER может сделать это, но условия обслуживания говорят, что вам нужно делать это в сочетании с картой Google, которая может не соответствовать вам. Доступно только на ОС 3.0 и выше, ищите документацию для MkReversegeCoder для получения дополнительной информации.

Мне нужен это сам и в итоге делал геокодирование в PHP на нашем сервере, используя IP-адрес устройства. Это рудиментарный, но дал нам достаточное количество деталей для наших потребностей.

Проверьте этот веб-сервис: http://ws.geonames.org/findnearbyblat=47.3&lng=9.
Который возвращает XML Doc со страной и близлежащие имена места, предоставленные пары LAT / LNG.

Этот подход опирается на устройство, имеющее активное соединение с данными.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top