cordova geolocation 两次弹窗

发布于 2022-09-11 20:42:14 字数 1252 浏览 25 评论 0

问题描述

项目是 cordova 打包的 React 应用,项目里需要用到位置服务,
在 /language 页面请求位置许可,即调用 navigator.geolocation.getCurrentPosition,
在请求位置许可的时候弹了两次许可:

第一次是:允许“应用”在您使用该应用时访问您的位置吗?
第二次是:"/language" Would Like To Use Your Current Location

问题出现的环境背景及自己尝试过哪些方法

cordova 9.0.1
React 16.8.6
iOS 12.1.4

已通过查找资料排除了一些原因:

  1. 苹果开发文档要求的配置已加上 Requesting Always Authorization
    Privacy - Location When In Use Usage Description
    Privacy - Location Always and When In Use Usage Description
    Privacy - Location Always Usage Description
  2. index.html 顶部已引入了 cordova.js
  3. 项目已引入了 cordova-plugin-geolocation
  4. 在 deviceready 时才调用的 geoloation API

相关代码

document.addEventListener("deviceready", e => {
    navigator.geolocation.getCurrentPosition(
        this.geoSuccess.bind(this),
        this.geoError
    );
}, false);

你期待的结果是什么?实际看到的错误信息又是什么?

期待只看到第一次的位置许可弹窗,实际还多了第二个弹窗。

希望有遇到这个问题的朋友能指点一下怎么解决。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文