I have an iPhone App (built using XCode 4.4.1 and OS target of IOS 5.1) that performs reverse geocoding using CLGeocoder.
In my App I determine the title (for an annotation on a map) as follows:
CLPlacemark *placemark = ...;
NSString* title = [NSString stringWithFormat:@"%@, %@, %@", placemark.subLocality, placemark.locality, placemark.country]
...
When running on an IOS5.x device the result is as expected with the location information increasing in scale from left to right (i.e. Suburb, City, Country).
If I run exactly the same app on an IOS6 device, the values for placemark.subLocality and placemark.locality are reversed resulting in (City, Suburb, Country).
I suspect this is a result of switch from Google Maps to Apple Maps. I am reluctant to conditionally code this based on the IOS version as I suspect the behaviour under IOS6 is incorrect and if so will be corrected in the future.
Has anyone encountered this issue and if so have any advice on the best way to deal with it or am I missing something (I am a relatively new IOS developer)?