iOS11 不能定位如何解决

问题:

系统升级到iOS11之后,发现APP不提示否允许始终访问位置,iBeacon不起作用。我查看了一下手机隐私设置,如图:

这里写图片描述

原因:

因为苹果现在增加了一项新的隐私保护功能 Privacy - Location Always and When In Use Usage Description,

并且原有的 Privacy - Location Always Usage Description 被降级为 Privacy - Location When In Use Usage Description。

解决:

想要达到之前 Privacy - Location Always Usage Description 的定位效果,需要在 info.plist 文件中添加 Privacy - Location Always and When In Use Usage Description 和 Privacy - Location When In Use Usage Description 两个就可以了。否则,徒劳无功,你的App依旧不支持Always authorization。

注意:

iOS11之前添加的 Privacy - Location Always Usage Description 不要删除, 添加的定位key,对应的value中必须使用字符串值向用户解释该应用如何使用这些数据