Возможно (плохо) преобразовать IP-адрес в страну;поиск "geoip". libgeoip Debian, вероятно, использует Страна GeoLite .Такие базы данных иногда устаревшие или просто неправильные.
Я думаю, что это неправильное поведение.Я хочу, чтобы приложения использовали язык, на котором настроен мой телефон, а не «язык страны» - возможно, я турист в Китае и не понимаю китайский, или, может быть, я в Швейцарии (если это будетна немецком, французском или латинском?).
Предполагая, что вы будете использовать некоторые локализованные ресурсы, вы можете получить список языков в предпочтительном порядке примерно так:
NSArray * localizations = [[NSBundle mainBundle] preferredLocalizations];
Затем передайте список на сервер (или просто передайте objectAtIndex: 0 на сервер).
Конечно, полагаясь на выборку ресурсов с сервера, вам придется ждать ихзагрузка означает, что ваше приложение не работает без подключения к Интернету.