热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

位置权限问题iOS11和iOS10

如何解决《位置权限问题iOS11和iOS10》经验,为你挑选了1个好方法。

当我使用iOS11我的info.plist包含时,我在向用户请求位置权限时遇到问题

NSLocationWhenInUseUsageDescription
When in use permissions
NSLocationAlwaysUsageDescription
always permissions
NSLocationAlwaysAndWhenInUsageDescription
Always and in usage permissions

我有两张地图供客户使用,另一张供员工使用.对于员工,我需要知道他们的位置,即使应用程序没有运行或后台(他们能够在退出时关闭它)并请求使用权限

locationManager.requestAlwaysAuthorization()

对于客户,我只需要在应用程序正在使用时使用位置并请求使用权限

locationManager.requestWhenInUseAuthorization()

在iOS 11中,这仅在使用时请求权限,而不是始终在权限上.

在iOS 10中,它具有正确的行为.

我想要的行为如下:当他们是客户(未登录)时,它只询问何时使用权限.如果他们登录(员工),即使不使用它也会请求位置.

如果有人能够了解我所遗漏/做错的事情,我将不胜感激.

需要注意的是,如果我删除了NSLocationAlwaysUsageDescriptioniOS10和iOS11 的权限,则同样的问题是不要求总是允许.

多一点澄清.我已经实现了didChangeAuthorization委托函数,当用户允许来自警报的权限时,它会被调用,requestWhenInUseAuthorization() 但是当我requestWhenInUseAuthorization()在位置管理器上调用函数时,没有调用委托方法,就好像它从未接收到该调用并且没有显示警告对话框用户.



1> Ben Avery..:

我通过创建一个只需要权限的快速独立应用程序来解决这个问题,我收到了一个错误日志,说明我使用的密钥是错误的.

我有NSLocationAlwaysAndWhenInUsageDescription而不是NSLocationAlwaysAndWhenInUseUsageDescription奇怪的,因为它说明应该使用的文档NSLocationAlwaysAndWhenInUsageDescription.切换到包含正确的密钥修复问题,现在权限与iOS 11和10的预期一致.

谢谢你的帮助.


推荐阅读
author-avatar
野蛮生长
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有