我正在使用Swift 3中的iOS应用程序,我需要从设置应用程序(摄氏度或华氏度)获取用户首选的温度单位。我试图找到一个解决方案,但没有成功。 :( 任何人都可以建议如何做到这一点。从设置应用程序查找温度单位
提前感谢!
我正在使用Swift 3中的iOS应用程序,我需要从设置应用程序(摄氏度或华氏度)获取用户首选的温度单位。我试图找到一个解决方案,但没有成功。 :( 任何人都可以建议如何做到这一点。从设置应用程序查找温度单位
提前感谢!
kCFLocaleTemperatureUnitKey
密钥没有记录。所以苹果可能会遇到问题。请阅读this thread了解更多信息。因为这个关键,他的应用程序被拒绝了。
let locale = NSLocale.current as NSLocale
let obj = locale.object(forKey: NSLocale.Key(rawValue: "kCFLocaleTemperatureUnitKey"))
print("\(obj!)")
这可以用Swift中的MeasurementFormatter完成。
此方法不使用任何私有API。请记住在实际设备(iOS 10+)上运行此功能,因为模拟器没有该选项。
let formatter = MeasurementFormatter.init()
let temperature = Measurement.init(value: 37.0, unit: UnitTemperature.celsius)
let localTemperature = formatter.string(from: temperature)
if(localTemperature.contains("C")) {
print("UNIT IS °C")
} else {
print("UNIT IS °F")
}
我发现堆栈溢出的代码,你可以分享swift 3等效,我没有找到相当于Swift 3中的NSLocaleTemperatureUnit –