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!

Другие вопросы по тегам