如何强制接收iOS上的反向地理编码数据的语言?

Dix*_*ine 3 iphone locale objective-c reverse-geocoding

我打电话的时候

geocoder reverseGeocodeLocation:currentLoc completionHandler:
Run Code Online (Sandbox Code Playgroud)

我根据iphone上设置的语言设置获取所有语言的数据(城市,县,...).

我如何强制总是用英语获取这些数据?

fun*_*ct7 6

对于未来的读者来说,接受的答案是不正确的(至少不再是这样).

UserDefaults.standard.set(["en"], forKey: "AppleLanguages")
gc.reverseGeocodeLocation(loc) {
    print($0 ?? $1!)

    UserDefaults.standard.removeObject(forKey: "AppleLanguages")
    print(UserDefaults.standard.object(forKey: "AppleLanguages") as! [String])
}
Run Code Online (Sandbox Code Playgroud)

调用removeObject(forKey:)非常重要,因为您要将返回值重置UserDefaults为系统设置.一些答案使您保持呼叫的原始值UserDefaults.standard.object(forKey: "AppleLanguages")并在获取地址后设置它,但这将阻止您UserDefaults与iOS"设置"应用中的全局语言首选项同步.