如何更改 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)=&gt; console.log('res in location ', res); ) 这个提示对 Ionic3 仍然有效 :) 如果您不确定要使用哪些键来覆盖默认消息,请在应用程序的 *-Info.plist 文件中查找它。

以上是关于如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ionic 2 中更改推送通知的图标/徽标

Ionic 4 IOS Socket.io 如何动态获取配置

Ionic ios构建不使用位置

ios ionic app中的Mapbox位置请求提示

每次我在 Ionic GADApplicationIdentifier 键更改上准备 ios 应用程序以测试 [关闭]

如何在 ionic 2 应用程序中自动更新谷歌地图上的当前位置