Запрос службы геолокации tvos никогда не запрашивался

Кто-нибудь получил CLLocationManager для запроса разрешения на телевизоре? Я использую следующий код (который работает на других платформах), чтобы узнать местоположение пользователя и запросить разрешения.

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;
self.locationManager.delegate = self;
[self.locationManager requestWhenInUseAuthorization];
[self.locationManager requestLocation];

Однако делегат авторизации вызывается со статусом kCLAuthorizationStatusNotDetermined.

Если я перейду в «Настройки»> «Конфиденциальность»> «Службы определения местоположения»> «Имя приложения», я могу вручную изменить разрешение, а затем сработает определение местоположения пользователя. Однако я не могу побудить пользователя в приложении. Кто-нибудь еще заставил это работать?


person user1218464    schedule 15.11.2015    source источник


Ответы (2)


Оказывается, моему info.plist нужен CFBundleDisplayName, чтобы показать подсказку служб определения местоположения. Добавление этого дало возможность запрашивать пользователя.

person user1218464    schedule 15.11.2015

добавьте в список эти строки с типом bool и значением YES

  • NSLocationAlwaysUsageDescription
  • NSLocationWhenInUseUsageDescription

затем удалите свое приложение, и если вы используете симулятор, перейдите к отладке, затем установите тестовое местоположение

это сработало для меня

person mohammad alabid    schedule 28.05.2016