This is stated in CLLocationManager class reference:
When requesting high-accuracy location data, the initial event delivered by the location service may not have the accuracy you requested.
This is really affecting my app. How can I make sure that the location found is the one with the correct accuracy?
I tried to use the 4th or 5th update rather than first retrieved location but this is not a good solution. Any idea?
You should check the accuracy of the updates,
CLLocationcontains a property
horizontalAccuracywhich you can use to check the accuracy.When the
CLLocationhas an accuracy that you find accurate enough you use and ignore al others.Als you should tel
CLLocationManageryour desired accuracy. To do this set thedesiredAccuracyproperty inCLLocationManager.