此篇文章是记录工作中出现的bug,以及bug的解决方法。
1、# iOS使用系统的地图定位时,手机系统语言为英文时,获取的定位城市为英文,例如“北京”,会被显示为“Beijing”。
处理方式:需要在定位前后对系统语言进行转换。
在func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
方法里,将系统语言为英文时返回中文编码。
//系统语言为英语时,返回中文编码(didUpdateLocations后)
let defaultLanguages = UserDefaults.standard.object(forKey: "AppleLanguages")
UserDefaults.standard.set(["zh-hans"], forKey: "AppleLanguages")
//还原系统语言版本(在解析成功或者解析失败后)
UserDefaults.standard.set(defaultLanguages, forKey: "AppleLanguages")