【问题标题】:Cordova iOS Notification about current locationCordova iOS 关于当前位置的通知
【发布时间】:2019-06-27 13:41:14
【问题描述】:

所以在任何人大喊重复之前,我已经阅读了几个小时的内容,我确保所有代码都在 document.addEventListener("deviceready" 中,并且仍然遇到这个问题,我使用最新版本的科尔多瓦和地理定位插件 cordova install cordova-plugin-geolocation

我已将我的 config.xml 设置为包含

<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
    <string>Allows events near you to be located.</string>
</edit-config>

我已经仔细检查了{app_name}-Info.plist,它确实包含NSLocationWhenInUseUsageDescription 的值,因此 config.xml 有效并且正在运行。

但是我仍然看到'{app_name}.app/www/index.html' Would Like To Use Your Current Location 通知用户

我使用的代码是

var options = {maximumAge: 0, timeout: 10000, enableHighAccuracy:true};
document.addEventListener("deviceready", function(){
    navigator.geolocation.getCurrentPosition(function(e){
        var currLocBtn = $('<div id="currentLocBtn">Use Current Location</div>');
        currLocBtn.click(function(){
            $("#lat").val(e.coords.latitude);
            $("#lng").val(e.coords.longitude);
            $("#locInp").val("").attr("placeholder", "Current Location");
            $("#cordsText").val("Current Location");
            $("#cordsDisplay").text("Current Location");
        });
        $("#searchoverlay").prepend(currLocBtn);
    }, function(){}, options);
}, false);

如果我跑 navigator.geolocation.getCurrentPosition((e) =&gt; console.log(e), (e) =&gt; console.log(e)); 来自我的应用程序的网络检查器控制台,它的作用与科尔多瓦包装器不工作一样。

【问题讨论】:

  • 很确定这是正常的吗?您有任何功能问题吗?
  • 它应该通过 Codova 使用应用程序 SDK 定位系统,因此它使用 .plist 配置并说明 plist 中配置的内容,而不是使用浏览器本机 navigator.geolocation.getCurrentPosition 这是它在做什么,它是应该用它自己的覆盖浏览器本机。
  • 我刚刚使用地理定位和一个 .js 文件制作了全新的 Cordova 应用程序,该文件包含一个调用 navigator.geolocation.getCurrentPosition 的“设备就绪”函数,它按您说的那样工作。一个简单的 javascript 运行时错误可能会导致您看到的问题
  • 是的,但是我使用 Web Inspector 并且没有发生 JS 错误。
  • 是的,已经解决了。

标签: javascript ios cordova geolocation


【解决方案1】:

所以这显然是由于构建系统弄乱了 xcode 项目造成的。使用准备和构建命令,我们没有链接到 xcode 项目的插件来解决这个问题,我不得不使用

cordova platform remove ios
cordova platform add ios

这迫使它删除并重建 xcode 项目文件并修复了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2020-04-14
    相关资源
    最近更新 更多