PlistBuddy

最近由于工作需要,发现了这么一个小工具。

PlistBuddy是一个Mac里的命令行下读写plist文件的工具。 位于/usr/libexec/下,由于这个路径不在默认的PATH里,需要通过绝对路径/usr/libexec/PlistBuddy引用。

使用起来很简单,功能也很丰富。

举几个例子:
A.plist内容如下

B.plist内容如下

通过命令打印出plist的内容

/usr/libexec/PlistBuddy -c "print" A.plist

得到结果

Dict {
    KeyA = ValueA
    KeyC = ValueC
    KeyB = ValueB
}

通过命令得到一个entry的值

$ /usr/libexec/PlistBuddy -c "print KeyA" A.plist

输出

这些都是简单的功能。PlistBuddy最好用的一个功能应该算是merge了。
merge命令可以合并两个plist文件,一个认为是源文件,一个作为目标文件。
比如命令

/usr/libexec/PlistBuddy -c "merge A.plist" B.plist

PlistBuddy把A.plist中的条目逐个插入到B.plist中,如果B.plist中已经有相同Key的条目就跳过此条目。 如上面的命令,得到结果

$ /usr/libexec/PlistBuddy -c "merge A.plist" B.plist
Duplicate Entry Was Skipped: KeyA
$ /usr/libexec/PlistBuddy -c "print" B.plist
Dict {
    KeyC = ValueC
    KeyD = ValueD
    KeyA = ValueNewA
    KeyB = ValueB
}

得到新的B.plist如下

更多命令可以通过man或者-h来查看

$/usr/libexec/PlistBuddy -h
时间: 2024-10-04 23:49:46

PlistBuddy的相关文章

用PlistBuddy修改Plist文件

$ plistbuddy -h Command Format: Help - Prints this information Exit - Exits the program, changes are not saved to the file Save - Saves the current changes to the file Revert - Reloads the last saved version of the file Clear [<Type>] - Clears out a

iOS9要求网络使用HTTPS协议-解决办法

iOS9要求App内访问的网络必须使用HTTPS协议.原有的HTTP请求会报错,适配方法如下. 打开TARGETS-Build Phases, 添加New Run Script Phase,代码如下: # Add exception for Debug builds if [ "${CONFIGURATION}" == "Debug" ] then # Remove exception existing builds /usr/libexec/PlistBuddy

ReactNative踩坑系列--构建失败

初始化项目后执行react-native run-ios,构建失败: ** BUILD FAILED ** The following commands produced analyzer issues: Analyze /Users/lcz/workspace/APP/temp/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c Analyze /Users/lcz/workspace/APP/temp/node_modul

iOS开发进阶 - 使用shell脚本自动打包上传到fir.im上-b

用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 相关资料和下载 首先是打包脚本的下载地址,这个是我找到的比较全的一个,里面有很多不同功能的shell脚本,亲测好用,传送门:https://github.com/heyuan110/BashShell?spm=5176.100239.blogcont5028.4.kFcLtR 还有关于fir指令的一

VIRTUALBOX 虚拟机安装 OS X 10.9 MAVERICKS

VIRTUALBOX 虚拟机安装 OS X 10.9 MAVERICKS 原文链接:http://bbs.weiphone.com/read-htm-tid-7625465.html 原文作者已经写的很好很详细了,但里面有几个点需要说明一下. 1. OSXMavericks2.iso  (解压 OSXMavericks2.part1.rar, OSXMavericks2.part2.rar, OSXMavericks2.part3.rar)把这三个压缩包下载下来解压第一个,会自动把后面两个解开.

利用Jenkins搭建iOS项目可持续化集成环境( Continuous Integration 简称CI)

前言 关于Jenkins的相关博客网上有很多,这里不再重复说.新进公司要搭建该环境,我也是参考了如下博文:http://www.jianshu.com/p/41ecb06ae95f 文中说的很详细也不再细说.当然在实际搭建中也遇到了不少的坑,所以特写此博客以作补充. 1. 初始密码获取 命令行:cd /Users/Shared/Jenkins/Home/ 到当前目录,修改/secrets/目录权限后使用vim编辑器打开initialAdminPassword文件就可以复制里面的密码了. 2. 构

iOS 在系统设置中展示Version, Build, Git等信息

   在设置中,展示自定义内容,如类似下图圈住区域内容         步骤: 1.在项目中添加Settings.bundle文件 Root.plist的Source code如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/

iOS自动化编译

http://www.cnblogs.com/brycezhang/p/4097487.html 最近研究了一下iOS的自动化编译,目的是为了简化测试和开发的同学沟通协调的次数,实现测试同学可以随时从网页操作编译SVN最新源码并打包ipa进行测试.具体思路是通过从配置文件读取需要编译的项目配置列表展示在网页上,测试同学选择需要编译的项目,确定后将选择项目的相关参数传入shell脚本运行,编译完成自动跳转至下载页面.主要流程包括: Shell脚本的编写.通过xcodebuild和xcrun实现自动

xcode工程命令行生成ipa安装包

主要使用两个命令 xcodebuild:将xcode工程打包成.app文件 xcrun:将app打包成.ipa文件 下面是写好的ant脚本: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project default="release" name="PackageForIOS" basedir="."> 3 <property nam