-->

tvos Location Services prompt never prompted

2019-09-02 12:55发布

问题:

Have anyone gotten CLLocationManager to prompt for permission on tvos? I'm using the following code (that works on other platforms) to get a user's location and prompt for permissions.

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

However, the authorization delegate is called with a status of kCLAuthorizationStatusNotDetermined.

If I go into Settings > Privacy > Location Services > App Name, I can manually change permission and then getting a user's location works. However, I'm unable to prompt the user within the app. Has anyone else gotten this to work?

回答1:

It turns out my info.plist needed CFBundleDisplayName in order to show the location services prompt. Adding this enabled the ability to prompt the user.



回答2:

add to plist these rows with type bool and value YES

  • NSLocationAlwaysUsageDescription
  • NSLocationWhenInUseUsageDescription

then delete your app an if you using simulator go to debug tap then set test location

thats worked for me