The location coming out of geocoder in CLPlacemark has altitude 0, differently of the input CLLocation

When I execute:

geoCoder.reverseGeocodeLocation(location, completionHandler:{[weak self](placemarks, error) in
print("reverse geocoding location after altitude: ",location.altitude)
print("placemark location first", placemarks?.first?.location?.altitude ?? -1)

The input CLLocation has correct altitude 25, instead the location in the output placemarks have altitude 0, when of course they should have the same location. Moreover it is impossible to retrofit any data in the returned placemarks as they are portrayed as a read only property.

The location coming out of geocoder in CLPlacemark has altitude 0, differently of the input CLLocation
 
 
Q