从 plist 中删除一个键
Posted
技术标签:
【中文标题】从 plist 中删除一个键【英文标题】:Delete a key from a plist 【发布时间】:2019-10-07 08:59:59 【问题描述】:我有一个用 swift 编写的命令行工具,可以编辑 xcode 项目设置。
我需要能够从 .entitlements 文件中删除“密钥”。
具体情况是我有一些项目不支持关联域但需要全部删除
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:xxx.page.link</string>
</array>
以一种优雅的方式从文件中提取,因为仅将数组留空意味着项目指示使用关联的域,但它没有。
简而言之,使用 swift 从 plist 中删除密钥。
【问题讨论】:
最好的方法必须是把整个列表加载到内存中,删除键/数据并将其写回文件。例如见***.com/questions/40436895/… 【参考方案1】:最简单的解决方案是使用 PlistBuddy。
您必须使用以下内容启动 shell 命令:https://***.com/a/26973384/3393964
命令类似于:
/usr/libexec/PlistBuddy -c 'Delete :com.apple.developer.associated-domains' Info.plist
【讨论】:
以上是关于从 plist 中删除一个键的主要内容,如果未能解决你的问题,请参考以下文章
macOS: 使用新版plutil命令操作Plist文件更方便
从 uitableview 中删除 + 写入 plist 不起作用