Мне не нужны точные данные о местоположении, и я не хочу, чтобы пользователь видел, как «Это приложение хочет определить ваше местоположение». Мне просто нужно определить страну пользователя, предполагая, что у них есть интернет-соединение через сеть или Wi-Fi.iOS - Определить страну пользователя без использования CLLocationManager
Каков наилучший способ для этого? Есть ли способ использовать свой IP-адрес?
Это будет работать только, если они имели носитель:
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [netInfo subscriberCellularProvider];
NSString *mcc = [carrier mobileCountryCode];
И NSLocale
не является надежным в том, что пользователь может изменить его в настройках устройства. Невозможно использовать настройку языка устройства по той же причине. Мне нужна страна, основанная на том, где они физически расположены.
Поскольку пользователь может быть в самолетном режиме или не подключен к сети, или пользователь может использовать прокси, нет гарантии, что вы можете получить точную информацию из сети. – rmaddy