How do I know which is the default measure system (imperial or metric) on iOS? How do I know which is the default measure system (imperial or metric) on iOS? ios ios

How do I know which is the default measure system (imperial or metric) on iOS?


The NSLocale can tell you:

NSLocale *locale = [NSLocale currentLocale]; BOOL isMetric = [[locale objectForKey:NSLocaleUsesMetricSystem] boolValue];

Only three countries do not use the metric system: the US, Liberia and Myanmar. The later uses its own system, the former two use Imperial Units.

Apples documentation says (emphasis mine):

NSLocaleUsesMetricSystem

The key for the flag that indicates whether the locale uses the metric system. The corresponding value is a Boolean NSNumber object. If the value is NO, you can typically assume American measurement units (for example, the statute mile).

Available in iOS 2.0 and later.


@DarkDust answer for swift3

//User region setting returnlet locale = Locale.current //NSLocale.current//Returns true if the locale uses the metric system let isMetric = locale.usesMetricSystem


here's a swift version

var locale = NSLocale.currentLocale()let isMetric = locale.objectForKey(NSLocaleUsesMetricSystem) as! Bool