Mapbox / route-me: местоположение пользователя больше не работает
Я использую route-me (Alpstein fork), чтобы показать карту с местоположением пользователя. Это работало до тех пор, пока я недавно не обновил Xcode и route-me. Теперь, если я установлю:
mapView.showsUserLocation = YES;
mapView.userTrackingMode = RMUserTrackingModeFollowWithHeading;
Ничего не произошло. Я загрузил проект Mapbox-me ( https://github.com/mapbox/mapbox-me), чтобы проверить, работает ли он с Mapbox, а это не так. Я использую симулятор для тестирования. Местоположение пользователя в приложении "Карты" на iOS работает, поэтому симулятор, похоже, может отправить позицию.
Кто-нибудь сталкивается с проблемой?
1 ответ
Ну, я не смотрел в правильном направлении, проблема была абсолютно не связана с MapBox / route-me, а с iOS 8 ...
Для получения любого обновления местоположения нам теперь нужно добавить одну из следующих записей в.plist:
- NSLocationAlwaysUsageDescription (если вашему приложению требуется местоположение даже в фоновом режиме)
- NSLocationWhenInUseUsageDescription (если вашему приложению требуется местоположение только на переднем плане)
И нам нужно мягко спросить разрешения пользователя, выполнив один из следующих вызовов (перед тем, как попросить MapView отобразить положение пользователя):
if([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) [_locationManager requestAlwaysAuthorization];
if([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) [_locationManager requestWhenInUseAuthorization];
Если вы этого не сделаете, вы не получите ни ошибки, ни предупреждения, ни обновления местоположения... Я определенно люблю разработку Android!