【问题标题】:iOS cordova allow location access 'Always'iOS cordova 允许“始终”访问位置
【发布时间】:2016-04-29 07:05:36
【问题描述】:

我正在使用 Cordova for iOS 开发一个应用程序,其中包括地理定位功能(我使用官方插件 https://github.com/apache/cordova-plugin-geolocation)。我在我的应用程序的选项中看到位置访问可以设置为“从不”或“使用应用程序时”。但是,其他一些应用程序也可能会选择“始终”,如随附的屏幕截图所示。我想知道是否可以为基于 Cordova 的应用程序提供“始终”选项。

谢谢!

【问题讨论】:

    标签: ios cordova geolocation cordova-plugins


    【解决方案1】:

    我在我公司的 Cordova 应用程序中同时使用 NSLocationWhenInUseUsageDescription 和 NSLocationAlwaysUsageDescription 并且它正在工作。然后,在 2017 年底,它停止了。

    对我来说,解决方法是添加 NSLocationAlwaysAndWhenInUseUsageDescription。

    更广泛地说,请注意,您需要有一个允许在后台跟踪位置的插件,并确保在 XCode 中启用了必要的后台模式选项。 我们使用以下插件来完成这项工作: https://www.npmjs.com/package/cordova-plugin-lents-background-geolocation

    这种类型的插件是必要的,因为 iOS 在显示屏关闭后大约 3 分钟停止执行应用程序的脚本,无论显示屏关闭时应用程序的前景/背景条件如何。这会阻止任何 JavaScript 代码运行,因此任何基于 setInterval 或 setTimeout 的 GPS 跟踪都将停止工作。

    【讨论】:

      【解决方案2】:

      我猜“NSLocationAlwaysUsageDescription”键是您要查找的键。查看此link,其中详细介绍了要在基于 cordova 的应用程序中完成的设置,以获取恒定的位置访问权限。

      【讨论】:

      • 您好,感谢您的回答,但存在误会。我想要“始终”选项,我不想修改 3 个选项下方的文本。
      • @Pierre 3 个选项以下的文字是什么意思?我猜这就是你要找的 - NSLocationAlwaysUsageDescription我的应用需要不断访问你的位置,即使屏幕关闭也是如此。
      • 为了更清晰我更新了我的图片
      【解决方案3】:

      我正在使用 Ionic 2 并且必须将以下内容添加到我的 App-Info.plist 文件中。即使 cordova 插入了 'NSLocationAlwaysUsageDescription' 和 'NSLocationWhenInUseUsageDescription' 键。这只在启动时提供了“从不”和“使用应用程序时”选项。 Xcode 建议使用下面的选项,这对我有用。

              <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
              <string>This app requires background location tracking</string>
      

      【讨论】:

        猜你喜欢
        • 2020-01-26
        • 1970-01-01
        • 2017-11-12
        • 2021-01-09
        • 1970-01-01
        • 1970-01-01
        • 2021-07-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多