ios - Ionic v3 从 PLIST 中删除特定键

标签 ios cordova ionic3 cordova-ios

我正在开发一个使用地理定位的 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>

我想做的是删除两个“始终”权限。我唯一想问用户的是 Never/When In Use。

有什么方法可以使用 config.xml 删除两个“始终”元素?我不想每次进行生产 iOS 构建时都必须记住删除这两个 key 。

最佳答案

这些键是 placeholders added by cordova-diagnostic-plugin .

NSLocationAlwaysUsageDescription 中包含的字符串和 NSLocationAlwaysAndWhenInUseUsageDescription仅当您请求在运行时“始终”使用位置时才会显示。

更新

.plist 中删除这些键, 你可以使用 cordova-custom-config .首先安装它:

cordova plugin add cordova-custom-config

然后添加<custom-config-file> <platform name="ios"> 下的区 block 删除不需要的键:

<platform name="ios">
    <custom-config-file parent="NSLocationAlwaysUsageDescription" target="*-Info.plist" mode="delete"/>
    <custom-config-file parent="NSLocationAlwaysAndWhenInUseUsageDescription" target="*-Info.plist" mode="delete"/>

关于ios - Ionic v3 从 PLIST 中删除特定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54085138/

相关文章:

ios - 如何在使用 PhoneGap 构建的 iPhone 应用程序中使用 Google Web 字体?

android - 为什么 Cordova Plugin Media 需要 READ_PHONE_STATE 权限?

ios - 选择一个时取消选择所有 UIButton

ios - 如何使用 graph-api-ios 从 facebook 检索相册图像

html - 停止在适用于 iOS 的 Phonegap 应用程序中自动检测电话号码(错误)

angular - 如何使用 ionic-3 中的表单数据对图像文件发出发布请求

database - ionic 2/3中如何处理数据库异步操作

javascript - Ionic 3 - 深层链接 - URL 未出现

ios - 在 Mac 上显示 UIView

两个 NSDecimalNumber 对象的 iphone NSComparisonResult 失败