我正在开发一个使用地理位置的Ionic应用程序,并基于config.xml和一个额外的edit-config元素,我在info.plist文件中获得了以下三个键:
LocationWhenInUse键是我要添加的东西,但其他两个则来自其他地方。这是我相关的config.xml:
...
<platform name="ios">
<edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
<string>Location will be used while app is in use.</string>
</edit-config>
...
</platform>
...
<plugin name="cordova-plugin-geolocation" spec="^4.0.1">
<variable name="GEOLOCATION_USAGE_DESCRIPTION" value="Geolocation will be used to determine your location" />
</plugin>
我想做的是删除两个“始终”权限。我唯一想问的用户是“从不/在使用中”。
有什么办法可以使用config.xml删除两个“总是”元素?我不想每次我进行生产iOS版本时都记得要删除这两个键。
答案 0 :(得分:1)
这些键是placeholders added by cordova-diagnostic-plugin。
只有在您请求在运行时使用位置“始终”时,才会显示NSLocationAlwaysUsageDescription
和NSLocationAlwaysAndWhenInUseUsageDescription
中包含的字符串。
更新
要从.plist
中删除这些键,可以使用cordova-custom-config。首先安装它:
cordova plugin add cordova-custom-config
然后在<custom-config-file>
下添加<platform name="ios">
块以删除不需要的密钥:
<platform name="ios">
<custom-config-file parent="NSLocationAlwaysUsageDescription" target="*-Info.plist" mode="delete"/>
<custom-config-file parent="NSLocationAlwaysAndWhenInUseUsageDescription" target="*-Info.plist" mode="delete"/>