NSLocaleUsesMetricSystem всегда ДА на iPad - PullRequest
5 голосов
/ 20 октября 2010

Я пытаюсь решить, проверяют ли пользовательские настройки «Регион / Локаль» использование значений метрики (в этом случае следует добавить кг или фунт ).

Я использую 3.2 на своем iPad и на симуляторе (Xcode 3.2.4). Я опробовал несколько разных настроек региона, но просто не могу вернуть NO для NSLocaleUsesMetricSystem

NSLocale *locale = [NSLocale systemLocale]; 
BOOL usesMetric = [[locale objectForKey:NSLocaleUsesMetricSystem] boolValue];

NSLog(@"The system is Metric: %@\n", (usesMetric ? @"YES" : @"NO"));

Это даже происходит для языка, установленного на Английский и для региона, установленного на США как на симуляторе, так и на реальном устройстве.

Я также пытался NSLocaleMeasurementSystem, и он тоже всегда возвращает "Метрика", а не "U.S.".

Как мне решить, использовать метрику или нет?

Спасибо за предоставленную помощь:)

... могу ли я быть настолько счастливым, что весь мир превратился в метрику, пока я спал:)

Ответы [ 2 ]

11 голосов
/ 16 июля 2011

Попробуйте currentLocale вместо systemLocale

2 голосов
/ 19 марта 2012

Была такая же проблема, пока я не понял, что Великобритания официально использует метрическую систему .Я всегда думал, что они все еще используют имперский язык, поэтому я провел тестирование в Великобритании.

Как только я начал тестировать локаль в США, NSLocaleUsesMetricSystem начал возвращать "NO", как и ожидалось.

Надеюсь, этопомогает.

...