【问题标题】:Xcode iOS simulator allows my Cordova app to retrieve geolocation position, but watch position getting timeout errorXcode iOS 模拟器允许我的 Cordova 应用程序检索地理位置,但观看位置出现超时错误
【发布时间】:2019-11-06 00:14:05
【问题描述】:

我正在使用 Cordova 地理定位插件来检测用户的位置。我这样做是这样的:

  let positionWatcher = navigator.geolocation.watchPosition(
    GeolocationSuccessCallback,
    GeolocationFailCallback,
    {
      timeout: 10000,
      enableHighAccuracy: true
    }
  )

在第一次拍摄时,它会在模拟器中找到位置 - 指向 Xcode 设置的默认加利福尼亚位置。

由于这是一个 watchPosition 方法,因此 10 秒左右应该会有 GPS 节拍。但是我没有再次获得该位置,而是收到超时错误。真正的 Android 设备不会发生这种情况。没有在真正的 iOS 设备上测试过,因为我没有。

Xcode 的模拟器不支持 cordova 地理定位插件的 watch position 吗?

【问题讨论】:

    标签: ios xcode cordova ios-simulator cordova-plugins


    【解决方案1】:

    如果您还没有,请尝试将其添加到您的 config.xml 文件中:

    <edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
            <string>To what end I will use location service description</string>
    </edit-config>
    

    永远记得做一个 npm install 和一个 cordova prepare jic。

    【讨论】:

    • 我已经添加了所有这些,就像这里的指示:developer.apple.com/documentation/corelocation/… 但观察位置什么也没得到。可能是因为没有真正的设备?
    • 有可能。过去我遇到过与此类似的问题,但这是因为我使用的是 javascript SDK 而不是 ios/android,而 js sdk 无法正常工作。除此之外,您能否提供 apache cordova 输出日志?
    • js SDK 不是 ios/android 是什么意思?你能举一个你正在使用的手表位置机制的例子吗? cordova 输出日志只是代码为 3 的错误对象,以及超时的名称和消息。
    • 我想强调一下,首先有一个成功回调。第二枪失败了。另外 - 当我在 Xcode 中去 Debug 并更改模拟位置时,以下位置也会成功。那么,下一个就失败了。
    猜你喜欢
    • 2016-09-01
    • 2015-10-09
    • 1970-01-01
    • 2016-03-26
    • 2023-03-13
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多