为特定应用启用定位服务?
Posted
技术标签:
【中文标题】为特定应用启用定位服务?【英文标题】:Location Services enabled for specific app? 【发布时间】:2010-10-20 01:49:01 【问题描述】:是否有任何方法可以确定特定应用的位置服务是否已被禁用?问题是 [CLLocationManager locationServicesEnabled] 会返回 YES,即使已为特定应用禁用了位置服务...
【问题讨论】:
【参考方案1】:如果您的目标是 ios 4.2 及更高版本,只需使用 [CLLocationManager authorizationStatus]
它将返回以下CLAuthorizationStatus
值之一,这些值基本上只是整数:
typedef enum
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
CLAuthorizationStatus;
在文档中搜索“CLLocationManager”以获取更多信息。
【讨论】:
【参考方案2】:当您实现位置管理器的委托时,您应该实现 didFailWithError。如果用户不允许访问位置,您将在那里收到相应的错误
Apple Documentation States:
如果用户拒绝您的应用程序使用定位服务,此方法将报告kCLErrorDenied
错误。收到此类错误后,您应该停止定位服务。
【讨论】:
还有其他方法吗? ís 功能类似功能:locationServicesEnabled?。就你而言,你的方式也有点复杂。 @becktoan 就是这样,阅读我上面提供的文档链接以上是关于为特定应用启用定位服务?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Android WebViewClient 启用特定 SSL 协议
如何在 ASP.Net Web API 中为特定控制器启用 Windows 身份验证
为 Spring Boot 驱动的 Vaadin 应用程序启用服务器推送不起作用