Look at the horizontalAccuracy
property of the CLLocation
objects you receive in didUpdateLocations
. On a device, when you first start location services, you'll often notice a series of locations coming in with decreasing horizontalAccuracy
values (i.e. more and more accurate location values). It's not a question of when it "locks in", but rather when do you receive a location with a horizontalAccuracy
that is sufficiently small for your app's purposes.
In terms of the method not getting called until you move, that is generally a function of what desiredAccuracy
and distanceFilter
values you use.