tvos定位服务提示从不提示

tvos Location Services prompt never prompted

有没有人让 CLLocationManager 提示对 tvos 的权限?我正在使用以下代码(适用于其他平台)来获取用户的位置并提示权限。

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

但是,调用授权委托的状态为 kCLAuthorizationStatusNotDetermined

如果我进入“设置”>“隐私”>“定位服务”>“应用程序名称”,我可以手动更改权限,然后获取用户的位置。但是,我无法在应用程序内提示用户。还有其他人让这个工作吗?

原来我的 info.plist 需要 CFBundleDisplayName 才能显示定位服务提示。添加此启用提示用户的能力。

添加到 plist 类型为 bool 且值为 YES 的这些行

  • NSLocationAlwaysUsageDescription
  • NSLocationWhenInUseUsageDescription

然后删除您的应用程序,如果您使用模拟器,请转到调试点击然后设置测试位置

这对我有用