有没有人有使用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
答案 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>
有关NSLocationWhenInUseUsageDescription
与NSLocationAlwaysUsageDescription
与NSLocationUsageDescription
的详细信息,请参阅此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>