In iOS 10 Apple added a new dedicated setting for Temperature Unit in the Settings.app under General > Language & Region > Temperature Unit . It lets you switch your preferred unit between Fahrenheit and Celsius:

Want to support this blog? Please check out

MarkChart
iOS 10 settings

Sadly Apple did not provide a public API for third party apps. Here is how you can access this preference in your app:

  1. You first need to expose the NSLocaleTemperatureUnit NSLocaleKey:
FOUNDATION_EXPORT NSLocaleKey const NSLocaleTemperatureUnit;
  1. You can now print the temperature unit. The value is one of these 2 strings: Celsius or Fahrenheit.
NSLog(@"NSLocaleTemperatureUnit value: %@", [[NSLocale currentLocale] objectForKey:NSLocaleTemperatureUnit]);