首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从本地设置应用程序启用的位置服务

从本地设置应用程序启用的位置服务
EN

Stack Overflow用户
提问于 2014-11-09 07:27:22
回答 2查看 376关注 0票数 0

当我的应用程序启动时,它会请求使用定位服务。

如果用户选择“不允许”,我会再次提示他们,让他们知道需要位置服务才能获得最佳体验,他们可以在设置应用程序中启用。

从这一点来看,如果我在设置应用程序中手动启用,我仍然无法获得获取当前位置的主页。

如何从设置应用程序中检测到已启用定位服务?

是否有需要从AppDelegate再次强制执行的方法?

EN

回答 2

Stack Overflow用户

发布于 2014-11-09 09:39:01

您可以使用返回CLAuthorizationStatus枚举成员的CLLocationManager.AuthorizationStatus来判断您的应用程序是否启用了location。如果定位被完全禁用,你的应用程序将不会被授权,所以你知道你需要知道的一切。

代码语言:javascript
代码运行次数:0
运行
复制
let authorization = CLLocationManager.authorizationStatus()
if authorization == .AuthorizedWhenInUse || authorization == .Authorized {
    ...
}

如果您使用CLLocationManager请求授权,但被用户拒绝,则不能再次打开该窗口。

从UX的角度来看,也要小心nags。清晰地传达你的应用程序从使用位置中受益,但要尽量避免在这方面威吓用户。

票数 0
EN

Stack Overflow用户

发布于 2014-11-17 05:09:57

另请参阅how to determine when settings change on ios,让你的应用程序在用户(希望)启用它后立即重试位置访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26823224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档