请求Cordova Geolocation中的始终权限

时间:2014-12-10 17:17:30

标签: javascript ios cordova permissions geolocation

看起来PhoneGap有一个config.xml设置来更新项目中的plist键,将Geolocation插件的权限从“使用中”设置为“始终”,如果我手动设置项目的.plist文件的键, NSLocationAlwaysUsageDescription而不是插件的默认NSLocationWhenInUseUsageDescription它设置了正确的权限,但是如何告诉插件请求Always权限而无需深入了解platforms / ios / * .plist文件?看起来插件代码有一个检查以查看要设置的权限,但我无法弄清楚如何请求它使用JavaScript API提示用户获得正确的权限。

请参阅:https://github.com/apache/cordova-plugin-geolocation/blob/master/src/ios/CDVLocation.m#L130

1 个答案:

答案 0 :(得分:1)

转到platform / ios / ios.json 找到以下内容:

 "*-Info.plist": {
                    "parents": {
                        "NSLocationWhenInUseUsageDescription": [
                            {
                                "xml": "<string />",
                                "count": 1
                            }
                        ]
                    }
                }

将“NSLocationWhenInUseUsageDescription”替换为“NSLocationAlwaysUsageDescription” 所以看起来如下:

"*-Info.plist": {
            "parents": {
                "NSLocationAlwaysUsageDescription": [
                    {
                        "xml": "<string />",
                        "count": 1
                    }
                ]
            }
        }

运行“cordova build ios”