【发布时间】:2015-03-20 05:51:34
【问题描述】:
我有一个启用了定位服务的应用程序。但即使应用程序的 SDK 是 iOS 8.2,它也没有“使用应用程序时”选项。有谁知道如何修理它?提前致谢!
【问题讨论】:
-
目前基本上只有两个选项:从不和总是。
我有一个启用了定位服务的应用程序。但即使应用程序的 SDK 是 iOS 8.2,它也没有“使用应用程序时”选项。有谁知道如何修理它?提前致谢!
【问题讨论】:
为了在应用的位置设置中同时支持“使用应用时”和“始终”授权,您必须在应用中的某个时间点同时调用 [CLLocationManager requestWhenInUseAuthorization] 和 [CLLocationManager requestAlwaysAuthorization]。
请记住,尽管请求了两次授权,但每次安装应用程序时只会向用户显示一个警报对话框,对应于您首先请求的授权类型。用户随后更新状态的唯一方法是通过“设置”应用。
【讨论】:
我从另一个帖子中找到了答案。基本上,我需要在 info.plist 文件中添加以下键:
NSLocationWhenInUseUsageDescription
另外,需要调用以下代码:
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}