【问题标题】:Cordova geolocation, wait for user permissionsCordova 地理位置,等待用户权限
【发布时间】:2016-07-26 13:25:03
【问题描述】:

我有一个 Cordova 应用程序,它做的第一件事就是在应用程序启动时检查用户的位置。问题是,如果这是用户第一次启动应用程序(在 iOS 上),地理定位插件不会等待用户对 iOS 显示的地理权限对话框说是或否。

无论如何我可以让这个插件功能等待用户说允许或禁止地理权限吗?

有问题的插件https://github.com/apache/cordova-plugin-geolocation

示例函数调用:

navigator.geolocation.getCurrentPosition(geolocationSuccess,geolocationError,geolocationOptions);

当我第一次启动应用程序时,我得到了 iOS 权限提示,但我可以在后台看到函数调用已经落入错误函数中。

【问题讨论】:

  • 我这里有同样的问题,我不知道如何解决尝试了一切......
  • @FernandoZamperin 你最终找到解决方案了吗?
  • 是的,我找到了解决方案,我只是在准备好平台时请求许可,然后当我去获取位置时,它可以完美运行!试试这个插件好用github.com/dpa99c/…

标签: javascript ios cordova geolocation ios-permissions


【解决方案1】:

它需要在plist中修改,请按照以下步骤进行,在将您的平台添加到cordova之前应该遵循以下步骤:

第一步:

add NSLocationWhenInUseUsageDescription to the .plist. Open /platforms/ios/{project}/{project}-Info.plist 

第2步:在下面添加

<key>NSLocationWhenInUseUsageDescription</key>
<string>[App Name] would like to access your location when running and displayed.</string>

【讨论】:

  • 啊,完美!我认为这将是一个 Javascript 解决方案或其他东西,而不是实际构建中的东西。
  • 现在的问题是,这似乎是一条自定义消息。它仍然在消息后面超时时执行定时器,然后在定时器超时后报错。
猜你喜欢
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-29
  • 2015-11-26
相关资源
最近更新 更多