Based on my quick test, the NSLocaleUsesMetricSystem may not work if you find that the user region is using kilometers or miles.
In the UK, the distances are in Miles and the speed is in Miles per hour, but NSLocaleUsesMetricSystem returns 1.
In the US, NSLocaleUsesMetricSystem returns 0, which is correct (distance is in Miles and speed is in Miles per hour).
In India, the NSLocaleUsesMetricSystem returns 1, which is again correct (distance is in kilometers and indicated in km / h).
newDeveloper
source share