iosunits-of-measurement

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 ?

How do I get this preference from the device settings, so I know what to display in my app ?

thanks


Solution

  • 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.