Я предполагаю, что что-то не так с вашей процедурой тестирования или вашим устройством, потому что я не могу воспроизвести проблему. У меня нет обработчика завершения, поэтому я изменил код так:
let geocoder = CLGeocoder()
let postalAddress = CNMutablePostalAddress()
postalAddress.postalCode = "93023"
geocoder.geocodePostalAddress(postalAddress, preferredLocale: Locale(identifier: "en_US")) { (placemarks, err) in
if let placemark = placemarks?[0] {
print(placemark)
return
}
print(err)
}
Я получил
93023, Ojai, CA 93023, United States...
, что правильно. Может быть, вы били геокодер, чтобы вас задохнули? Или, может быть, на вашем устройстве есть плохие настройки? Или это может быть что-то более тонкое.