Я пытаюсь определить, использовать ли имперские или метрические единицы автоматически, прежде чем просить пользователя включить службы определения местоположения. Я знаю, что вы не можете получить точные данные, но мне действительно нужны Соединенные Штаты или нет. Можете ли вы определить, какой магазин был загружен или использовать IP-адрес или что-то в этом роде?Можете ли вы определить, в какой стране находится ваш пользователь из приложения iOS?
1
A
ответ
2
Вы, вероятно, ищете NSLocale:
let theLocale = NSLocale.autoupdatingCurrentLocale()
print(theLocale.objectForKey(NSLocaleMeasurementSystem))
print(theLocale.objectForKey(NSLocaleUsesMetricSystem))
Посмотрите на ссылки NSLocale класса для дополнительных опций.
3
Вы можете использовать локаль устройства для достижения этой цели ...
Obj-C
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
Swift
let locale = NSLocale.currentLocale()
let countryCode = locale.objectForKey(NSLocaleCountryCode)
коды стран в формате США (США), FR (Франция) и т. Д.
Обратите внимание, что языковой стандарт основан на настройках устройства пользователя и необязательно на текущем физическом местоположении устройства.
0
Swift 3
NSLocale.current
NSLocale.Key.countryCode
Да, досадно переименовано снова, у вас нет более важных вещей, чтобы посетить Swift команды ???
Чтобы сделать это, используйте один из встроенных форматировщиков для массы/расстояния/энергии и т. Д. (Среди многих других). Он автоматически форматирует значение/строку с настройками, которые пользователь выбрал. См. Документацию 'NSFormatter', чтобы выбрать соответствующий форматтер: https://developer.apple.com/library/prerelease/ios/documentation/Cocoa/Reference/Foundation/Classes/NSFormatter_Class/index.html#//apple_ref/occ/ кл/NSFormatter –