从Info.plist中删除没有数据的键

时间:2019-03-21 15:48:40

标签: swift xcode plist

我有一个iOS应用,该应用在Info.plist中具有以下键

<key>UISupportedExternalAccessoryProtocols</key>
    <array>
        <string>$(MYAPP_EXTERNAL_ACCESSORIES)</string>
    </array>

我们有该应用程序的客户端和商家版本,只有后者在此处获得分配的值(蓝牙打印机)。在为客户端存档时,在上传到iTunes Connect的过程中会出现以下错误:

ERROR ITMS-90110: "This bundle is invalid. The key UISupportedExternalAccessoryProtocols in the Info.plist file must be an array of non-empty strings."

我找到了使用脚本更改Info.plist的方法(从现有密钥中添加/删除某些内容),但是没有找到针对某些构建配置或如果密钥为空的完全删除密钥的方法。

什么是最好的解决方案?

谢谢。

1 个答案:

答案 0 :(得分:1)

您表示您已经知道如何使用构建脚本。您要在脚本中使用的工具是plutil

plutil -insert <keypath> -<type> <value> <path_to_file>

plutil -remove <keypath> <path_to_file>