In Significant change location service, I've used the method "startMonitoringSignificantLocationChanges" but it returns cached Location only, it doesn't return updated location information. I've used Swift language.
-
You can try the following link: http://stackoverflow.com/questions/11697730/cllocationmanager-startupdatinglocation-not-working – Suraj Sonawane Oct 15 '15 at 06:20
1 Answers
Assuming you are keeping a strong reference to your location manager object, please ensure you are calling locationManager.requestAlwaysAuthorization()
for startMonitoringSignificantLocationChanges
to function well.
EDIT:
From Apple Documentation:
Regardless of which location service you use, location data is reported to your app via the location manager’s associated delegate object. Because it can take several seconds to return an initial location, the location manager typically delivers the previously cached location data immediately and then delivers more up-to-date location data as it becomes available. Therefore it is always a good idea to check the timestamp of any location object before taking any actions. If both location services are enabled simultaneously, they deliver events using the same set of delegate methods.
Wait for some time and ensure you make a physical location change for location manager to return back the right location. Note that Significant Location Changes mode is always slower than the regular one.

- 37,684
- 43
- 191
- 309
-
okay.I am using locationManager.requestAlwaysAuthorization() only.but it return cached location only.FYI - i am checking ios simulator. – Venka Tesh user5397700 Oct 15 '15 at 09:18
-
Per Apple documentation, getting a cached location is a valid case. Please take a look at my updated post. – Abhinav Oct 15 '15 at 09:35
-