1
我使用的定位和cllocationManager语言已更改,但CLLocationManager未受影响?
时更改语言的每一件事情的工作也只是国家和城市的名字都与所有的定位不影响之前的语言,唯一的办法就是关闭应用程序,并打开它再次用新的语言来! 任何解决方案来更改国家和城市而不关闭应用程序?
本地化代码
static func setLanguage(lang:String) -> Void {
UserDefaults.standard.removeObject(forKey: "AppleLanguages")
UserDefaults.standard.set([lang], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()
Bundle.setLanguage(lang)
}
CLLocationManager代码
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
locValue = manager.location!.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
let geoCoder = CLGeocoder()
let location = CLLocation(latitude: locValue.latitude, longitude: locValue.longitude)
geoCoder.reverseGeocodeLocation(location, completionHandler: { (placemarks, error) -> Void in
// Place details
var placeMark: CLPlacemark!
placeMark = placemarks?[0]
if placeMark != nil{
// City
if let city = placeMark.addressDictionary!["State"] as? NSString {
self.locCity = city as String
}
// Country
if let country = placeMark.addressDictionary!["Country"] as? NSString {
self.locCountry = "\(country)," as String
}
self.countryLocation.text = "\(self.locCountry) \(self.locCity)"
self.locationManager.stopUpdatingLocation()
}
})
}
我尝试它但同样的事情,问题不是火灾变化的语言问题是CLLocationManager没有采取任何语言参数,它需要重新启动应用程序 – MOMMH
@MOMMH不得不尝试重新初始化' CLLocationManager'? –
不,但我不知道如何重新初始化CLLocationManager,请提供任何示例代码或链接? – MOMMH