Plist文件是iOS项目中比较普遍的一种文件格式,类似于XML,都是通过键值对的形式存储数据,而PlistBuddy则是Mac自带的专门解析plist的友好工具。如果有自动化打包,动态修改iOS工程项目中的info.plist文件的需求,会用到PlistBuddy。

1. 查看帮助

1
$ /usr/libexec/PlistBuddy --help

2. 数据类型

  • string
  • array
  • dict
  • bool
  • real
  • integer
  • date
  • data

3. 添加

Example:

添加string类型

1
$ /usr/libexec/PlistBuddy -c "Add :CFBundleGetInfoString string App version 1.0.1" info.plist

如果不存在 dict 类型的CFBundleDocumentTypes则创建一个,并添加键值对,key是name,value是xiao;如果存在,则直接添加键值对:

1
$ /usr/libexec/PlistBuddy -c "Add :CFBundleDocumentTypes:name string xiao" info.plist

如果还想再添加,执行:

1
$ /usr/libexec/PlistBuddy -c "Add :CFBundleDocumentTypes:age string 18" info.plist

如果不存在 array 类型的Application则创建,并添加数组第一个元素为 string 类型的值 hello;如果存在,则直接添加:

1
$ /usr/libexec/PlistBuddy -c "Add :Application:0 string hello" info.plis

添加数组第二个元素:

1
$ /usr/libexec/PlistBuddy -c 'Add :Application:1 string world' info.plist

4. 修改

修改数组Application的第2个元素的值为APP:

1
$ /usr/libexec/PlistBuddy -c "Set :Application:1 APP" info.plist

5. 删除

1
$ /usr/libexec/PlistBuddy -c "Delete :CFBundleGetInfoString" info.plist