Ionic v3 从 PLIST 中删除特定键
Ionic v3 Remove Specific Keys from PLIST
我正在开发一个使用地理定位的 Ionic 应用程序,基于我的 config.xml 和一个额外的 edit-config 元素,我在 info.plist 文件中得到以下三个键:
- NSLocationWhenInUseUsageDescription:在使用应用程序时将使用位置。
- NSLocationAlwaysUsageDescription:此应用需要持续访问您的位置以便跟踪您的位置,即使屏幕关闭或应用在后台也是如此。
- NSLocationAlwaysAndWhenInUseUsageDescription:此应用需要持续访问您的位置以便跟踪您的位置,即使屏幕关闭或应用在后台也是如此。
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>
我想做的是删除两个 "Always" 权限。我唯一想问用户的是 Never/When In Use.
有什么方法可以使用 config.xml 删除两个 "always" 元素?我不想每次进行生产 iOS 构建时都必须记住删除这两个密钥。
这些键是 placeholders added by cordova-diagnostic-plugin。
NSLocationAlwaysUsageDescription
和 NSLocationAlwaysAndWhenInUseUsageDescription
中包含的字符串只有在您请求在运行时使用位置 "Always" 时才会显示。
更新
要从 .plist
中删除这些键,您可以使用 cordova-custom-config。首先安装它:
cordova plugin add cordova-custom-config
然后在<platform name="ios">
下添加<custom-config-file>
块来删除不需要的键:
<platform name="ios">
<custom-config-file parent="NSLocationAlwaysUsageDescription" target="*-Info.plist" mode="delete"/>
<custom-config-file parent="NSLocationAlwaysAndWhenInUseUsageDescription" target="*-Info.plist" mode="delete"/>
我正在开发一个使用地理定位的 Ionic 应用程序,基于我的 config.xml 和一个额外的 edit-config 元素,我在 info.plist 文件中得到以下三个键:
- NSLocationWhenInUseUsageDescription:在使用应用程序时将使用位置。
- NSLocationAlwaysUsageDescription:此应用需要持续访问您的位置以便跟踪您的位置,即使屏幕关闭或应用在后台也是如此。
- NSLocationAlwaysAndWhenInUseUsageDescription:此应用需要持续访问您的位置以便跟踪您的位置,即使屏幕关闭或应用在后台也是如此。
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>
我想做的是删除两个 "Always" 权限。我唯一想问用户的是 Never/When In Use.
有什么方法可以使用 config.xml 删除两个 "always" 元素?我不想每次进行生产 iOS 构建时都必须记住删除这两个密钥。
这些键是 placeholders added by cordova-diagnostic-plugin。
NSLocationAlwaysUsageDescription
和 NSLocationAlwaysAndWhenInUseUsageDescription
中包含的字符串只有在您请求在运行时使用位置 "Always" 时才会显示。
更新
要从 .plist
中删除这些键,您可以使用 cordova-custom-config。首先安装它:
cordova plugin add cordova-custom-config
然后在<platform name="ios">
下添加<custom-config-file>
块来删除不需要的键:
<platform name="ios">
<custom-config-file parent="NSLocationAlwaysUsageDescription" target="*-Info.plist" mode="delete"/>
<custom-config-file parent="NSLocationAlwaysAndWhenInUseUsageDescription" target="*-Info.plist" mode="delete"/>