从 plist 中删除一个键

Delete a key from a plist

我有一个用 swift 编写的命令行工具,可以编辑 xcode 项目设置。

我需要能够从 .entitlements 文件中删除 'key'。

具体情况是我有一些项目不支持关联域但是我需要整个移除

    <key>com.apple.developer.associated-domains</key>
<array>
    <string>applinks:xxx.page.link</string>
</array>

以优雅的方式从文件中提取,因为仅将数组留空意味着项目指示使用关联的域,而事实并非如此。

简而言之,使用 swift 从 plist 中删除密钥。

最简单的解决方案是使用 PlistBuddy。

您必须使用如下内容启动 shell 命令:

命令类似于:

/usr/libexec/PlistBuddy -c 'Delete :com.apple.developer.associated-domains' Info.plist