IOS 11上的Cordova插件地理位置超时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS 11上的Cordova插件地理位置超时相关的知识,希望对你有一定的参考价值。
我访问了有关此问题的所有链接,没有人帮助过我。
当ios上的“cordova-plugin-geolocation”执行方法“getCurrentLocation”时,我总是得到错误代码3(超时)。
按照我的代码:
getCurrentPosition() {
return new Promise(function (resolve, reject) {
document.addEventListener("deviceready", function(){
navigator.geolocation.getCurrentPosition((position) => {
resolve(position);
}, (error) => {
reject(error);
}, {
timeout: 10000
});
}, false);
});
}
我升级了所有插件和引擎,错误仍然存在。关注我当前的版本:
- cordova 8.0.0;
- cordova-ios 4.5.4;
- cordova-android 7.0.0;
- cordova-plugin-geolocation 4.0.0。
答案
辛苦工作后,我找到了修复。我在“/platform/ios/{project_name}/{project_name}-Info.plist”中添加了以下键:
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>My app requires constant access to your location, even when the screen is off.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>My app requires constant access to your location, even when the screen is off.</string>
以上是关于IOS 11上的Cordova插件地理位置超时的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap (Cordova 2.9.0) iOS 上的地理定位
iOS 10 上的 Cordova 媒体插件是不是仍可使用后台播放?