如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件
Posted
技术标签:
【中文标题】如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件【英文标题】:How to change the location access description for an Ionic 2 iOS App? I'm using cordova geolocation plugin for my app 【发布时间】:2018-01-07 11:36:31 【问题描述】:我尝试将 AppName-Info.plist 中的描述更改为我想要的描述,但在构建之后它会自动替换为下面的默认描述。
<key>NSLocationWhenInUseUsageDescription</key>
<string>$NSLocationWhenInUseUsageDescription</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>$NSLocationAlwaysUsageDescription</string>
我还尝试删除cordova地理定位插件并重新安装为
cordova plugin add https://github.com/apache/cordova-plugin-geolocation.git --variable GEOLOCATION_USAGE_DESCRIPTION="Allow location access for maps"
但它仍然没有改变描述。我仍然在我的应用程序上得到 $NSLocationWhenInUseUsageDescription 作为我的描述。
【问题讨论】:
【参考方案1】:我写这篇文章有点晚了,但我在寻找相同问题的答案时遇到了它。我最终将以下代码添加到我的 ionic 项目 config.xml 文件中,并且在构建和测试之后,我可以确认它有效。
<config-file parent="NSLocationWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
<string>This app requires access to your location when the screen is on and the app is displayed to Lorem Ipsum. Your code here.</string>
</config-file>
我还附上了一张图片,显示了该部分代码相对于文件其余部分的去向。
Location Permission Example
【讨论】:
它是救世主。非常感谢。 不适合我。应用程序不提示位置权限。我应该添加任何其他代码吗?提前致谢。 抱歉耽搁了,我希望你找到了答案,但如果没有,这就是我所做的。将上述行添加到配置后,您必须向用户请求许可。我使用诊断插件并在页面加载时请求位置授权:this.diagnostic.requestLocationAuthorization().then((res:any)=> console.log('res in location ', res); )
这个提示对 Ionic3 仍然有效 :) 如果您不确定要使用哪些键来覆盖默认消息,请在应用程序的 *-Info.plist
文件中查找它。以上是关于如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件的主要内容,如果未能解决你的问题,请参考以下文章
Ionic 4 IOS Socket.io 如何动态获取配置