如何将部分 plist 存储到文件中,然后将其合并到另一个 plist?

Posted

技术标签:

【中文标题】如何将部分 plist 存储到文件中,然后将其合并到另一个 plist?【英文标题】:How to store part of a plist to a file and then merge this to another plist? 【发布时间】:2017-06-20 00:53:47 【问题描述】:

我需要提取 plist 的一部分,将其存储在一个文件中,然后稍后将保存的部分加载/合并到另一个 plist 中,用其随附的键和值覆盖现有的键。

我知道PlistBuddy 极大地帮助了这个过程,因为您可以通过以下方式读取一个键的一部分及其子键: /usr/libexec/PlistBuddy -c "Print :KeyName" /path/to/some.plist

但尚不清楚您是否可以在这里简单地使用文件重定向来保存输出,然后通过 Merge 命令重新加载它并附带要插入的 plist。

非常感谢您提供命令示例!

【问题讨论】:

【参考方案1】:

看来可以按照以下过程来修改具有合并值的plist:

# Get contents that you want to store:
/usr/libexec/PlistBuddy -x -c "Print :KeyYouWant" /path/to/plist_with_key_set_you_want.plist

# Merge the contents of the saved file to the other plist:
/usr/libexec/PlistBuddy -x -c "Merge plist_with_key_set_you_want.plist :KeyToMergeInto" /path/to/destination.plist

【讨论】:

以上是关于如何将部分 plist 存储到文件中,然后将其合并到另一个 plist?的主要内容,如果未能解决你的问题,请参考以下文章

从 plist 读取,然后将对象保存到不同的 plist iOS

在 iOS 的 plist 中存储数据

Qt:如何将 2 个 QQuickItems 合并为一个,然后将其保存为 png

从文本文件加载数据然后将其存储到数据库中的最快方法

将 UIImage 保存到 plist 问题 (SWIFT)

plist 文件是不是与应用程序包一起存储?