为啥导航器的位置检测不适用于 iOS 10?
Posted
技术标签:
【中文标题】为啥导航器的位置检测不适用于 iOS 10?【英文标题】:Why won't location detection with navigator work with iOS 10?为什么导航器的位置检测不适用于 iOS 10? 【发布时间】:2016-09-16 20:32:57 【问题描述】:请参考以下链接以获取示例。尝试在 ios 10 中使用 w3 school tutorial 时,我们在尝试获取用户位置时收到错误消息。
本教程在以前的 iOS 版本中运行良好。谁能解释一下版本之间的区别以及我们可以做些什么来修复它?
【问题讨论】:
1. w3schools 不好 2. 到底是什么错误? 3. 哪个浏览器? w3 学校只是展示我遇到的问题的一种简单方法。错误显示:“无法检测位置。确保在您的设备上启用了位置服务。”我的设备上启用了定位服务,并且我在我的应用程序 info.plist 文件中注册了正确的位置字符串。 【参考方案1】:如果没有看到错误消息,很难确切知道。但是,在 iOS 10 中,您现在必须在 .plist 文件中明确指定要访问用户的位置。
在此处查看文档: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW18
重要提示:为保护用户隐私,在 iOS 10.0 或之后链接并访问用户位置信息的 iOS 应用程序必须静态声明这样做的意图。在应用的 Info.plist 文件中包含 NSLocationWhenInUseUsageDescription 键,并为此键提供用途字符串。如果您的应用尝试在没有相应用途字符串的情况下访问用户的位置信息,您的应用将退出。
【讨论】:
您好 knt,感谢您的回答,我已经使用适当的字符串注册了 NSLocationWhenInUseUsageDescription 键和 NSLocationAlwaysUsageDescription 键,但导航器地理编码服务仍然无法访问设备位置。以上是关于为啥导航器的位置检测不适用于 iOS 10?的主要内容,如果未能解决你的问题,请参考以下文章