修复Cordova地理定位询问位置消息

时间:2015-03-06 02:17:54

标签: ios xcode cordova geolocation message

有没有人有使用cordova,html的经验并知道如何修复iOS的地理定位消息问题?我只想让消息说出应用名称后跟行,"想要使用您当前的位置。"

当前地理定位消息:

  

///用户/ kklsndksjladn /库/开发商/ CoreSimulator /设备/ FAF7EE4C-40BA-430A-80D5-5C84B07D970D /数据/容器/捆绑/应用/ DAE305B6-C6DD-438B-B4D7-9B183A8B2D97 / HelpME.app / WWW / index.html中

我尝试过堆栈溢出和其他网站的各种解决方案。我在每个html页面中实现了navigator.geolocation.getCurrentPosition(onSuccess, onError);代码,包括我的cordova.js文件,确保我的index.html页面中首先显示<script> src=cordova.js</script>,在我的config.xml文件中包含geolocation标记并尝试播放和我的plist在一起。有人请帮忙!!!!

-Thanks

2 个答案:

答案 0 :(得分:8)

除了http://acl-arc.comp.nus.edu.sg/archives/acl-arc-090501d4/data/pdf/anthology-PDF/W/W04/W04-2907.pdf的答案之外,我还必须删除旧版本的地理定位插件并添加新版本。然后我不得不删除/添加Cordova iOS平台。只有这样才能成功地将NSLocationWhenInUseUsageDescription添加到.plist文件中。

首先,删除/添加地理位置插件:

cordova plugin rm org.apache.cordova.geolocation
cordova plugin add org.apache.cordova.geolocation

其次,删除/添加iOS平台:

cordova platform rm ios
cordova platform add ios

最后,将NSLocationWhenInUseUsageDescription添加到.plist。打开/platforms/ios/{project}/{project}-Info.plist并添加以下内容:

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

有关NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescriptionNSLocationUsageDescription的详细信息,请参阅此DaveAlden

iOS Developer Library link可能是重复的。

答案 1 :(得分:2)

要自定义iOS位置权限请求消息,您需要向项目的.plist添加属性。

如果您的应用请求在后台使用位置的权限,您需要以下密钥(将字符串值设置为您喜欢的任何内容):

<key>NSLocationAlwaysUsageDescription</key>
<string>My app requires constant access to your location, even when the screen is off.</string>

如果您的应用仅在前台使用位置,请添加以下密钥:

<key>NSLocationWhenInUseUsageDescription</key>
<string>My app requires access to your location when the screen is on and the app is displayed.</string>