Только три страны не используют метрическую систему: США, Либерия и Мьянма. Позднее использует свою собственную систему, первые два используют Имперские единицы.
В документации на яблоки говорится (внимание мое):
NSLocaleUsesMetricSystem
Ключ для флага, который указывает, использует ли языковой стандарт метрическую систему. Соответствующим значением является объект Boolean NSNumber. Если значение НЕТ, обычно вы можете использовать американские единицы измерения (например, уставную милю).
Доступен в iOS 2.0 и более поздних версиях.
Ответ 2
здесь быстрая версия
var locale = NSLocale.currentLocale()
let isMetric = locale.objectForKey(NSLocaleUsesMetricSystem) as! Bool
Ответ 3
@DarkDust ответ для swift3
//User region setting return
let locale = Locale.current //NSLocale.current
//Returns true if the locale uses the metric system
let isMetric = locale.usesMetricSystem
Ответ 4
Для быстрого 3
let locale = NSLocale.current
let isMetric = locale.usesMetricSystem
Ответ 5
Вероятно, вы должны просто настроить параметр в своем приложении и позволить своим пользователям выбирать - это то, что Apple делает в приложении Weather.
Если вы хотите выбрать разумное значение по умолчанию, вы можете посмотреть на локаль. Если это США, выберите имперский, иначе выберите метрику. Это эвристика, иногда это будет неправильно, но это просто по умолчанию, которое можно изменить.