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

  • Easily preview Mermaid diagrams
  • Sequence diagrams, flowcharts, …
  • Built-in editor
  • Export to PDF, PNG, and SVG
  • Quick Look integration
  • Available on macOS, iOS, and iPadOS
  • Free download on the App Store
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]);