Skip to content
This repository has been archived by the owner on May 9, 2018. It is now read-only.

User Location Tracking is Not Resumed when Permission is Reinstated #629

Open
taylortrimble opened this issue May 9, 2015 · 2 comments
Open

Comments

@taylortrimble
Copy link
Contributor

Steps to Reproduce

  1. Set showsUserLocation to YES.
  2. Allow Location Services
  3. Go to Settings and turn off Location Services for your app
  4. Go back to your app
  5. Go to Settings and turn Location Services back on for your app
  6. Go back to your app

Actual Results

  • mapViewWillStartLocatingUser: is never called at any point
  • mapView:didUpdateUserLocation: is never called after Location Services are revoked, even after they're turned back on

Expected Results

  • mapViewWillStartLocatingUser: should be called once when Location Services are allowed the first time, and once again when Location Services are reinstated
    • This is consistent with the behavior of mapViewDidStopLocatingUser:, which is called both when Location Services are blocked on first request and when Location Services are revoked later
  • mapView:didUpdateUserLocation: should resume being called for location changes after Location Services are reinstated
@1ec5
Copy link
Contributor

1ec5 commented May 9, 2015

In mapbox/mapbox-gl-native#1491, I wound up adding code that double-checks +[CLLocationManager authorizationStatus] when the host app returns to the foreground. It’s for a different purpose, not the user dot, but the same approach would work here. I couldn’t find any other reliable way to get this notification.

@taylortrimble
Copy link
Contributor Author

That will probably be our in-app workaround as well. I hope that it's able to be addressed in Mapbox iOS SDK eventually though!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants