The Geocoding operations are not handled on the device and requires internet connection as they happen on cloud. It has its pros and cons.
Pros:
- Save your device resources, as the conversion is happening on Cloud.
- Apple can update their APIs on cloud as technology improves and that can give our apps better performance without even have to vchange anything in code.
Cons:
You would need a solid internet connection to access geocoding APIs.
Now coming to your condition, my guess is somehow due to internet connection, you are not able to use geocoding APIs completely. May be thats why you are not getting the locality.
The question is then how are you getting the country, province, and coordinates?
Well as it happens, the forward geocoder can get you the high level information such as country, region etc based on local device information but it requires internet connection to get more information such as locality etc.