精华内容
下载资源
问答
  • PlistBuddy

    千次阅读 2015-06-19 14:37:03
    PlistBuddy是一个Mac里的命令行下读写plist文件的工具。 位于/usr/libexec/下,由于这个路径不在默认的PATH里,需要通过绝对路径/usr/libexec/PlistBuddy引用。 使用起来很简单,功能也很丰富。 举几个例子: A....

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

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

    用PlistBuddy修改Plist文件

     

    Plist文件是以.plist为结尾的文件的总称. 众所周知, Plist在Mac OSX系统中起着举足轻重的作用,就如同Windows里面的Registry一样,系统和程序使用Plist文件来存储自己的安装/配置/属性等信息。正如可以使用命令行命令来处理大多数系统管理一样,操作Plist文件也是系统提供的。    

    所幸有PlistBuddy工具,这个工具通过它的简单语法就可以操作嵌套的键值。如果你的系统没有PlistBudy可以安装苹果的开发工具。

    基本的使用可以查看man文档或者是在线帮助:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    $ 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[<</code>Type>]- Clears out all existing entries, and creates root ofType
         Print[<</code>Entry>]- Prints value of Entry.  Otherwise, printsfile
         Set<</code>Entry><</code>Value>- Sets the value at Entry to Value
         Add<</code>Entry><</code>Type>[<</code>Value>]- Adds Entry to the plist, with valueValue
         Copy<</code>EntrySrc><</code>EntryDst>- Copies the EntrySrc property toEntryDst
         Delete<</code>Entry>- Deletes Entry from the plist
         Merge<</code>file.plist>[<</code>Entry>]- Adds the contents of file.plist toEntry
         Import<</code>Entry><</code>file>- Creates or sets Entry the contents offile
                   
    Entry Format:
         Entriesconsist of property key names delimited bycolons.  Array items
         arespecified by a zero-based integer index. Examples:
             :CFBundleShortVersionString
             :CFBundleDocumentTypes:2:CFBundleTypeExtensions
                   
    Types:
         string
         array
         dict
         bool
         real
         integer
         date
         data
                   
    Examples:
         Set:CFBundleIdentifier com.apple.plistbuddy
             Setsthe CFBundleIdentifier property tocom.apple.plistbuddy
         Add:CFBundleGetInfoString string "App version 1.0.1"
             Addsthe CFBundleGetInfoString property to the plist
         Add:CFBundleDocumentTypes: dict
             Addsa new item of type dict to the CFBundleDocumentTypesarray
         Add:CFBundleDocumentTypes:0 dict
             Addsthe new item to the beginning of the array
         Delete:CFBundleDocumentTypes:0 dict
             Deletesthe FIRST item in the array
         Delete:CFBundleDocumentTypes
             Deletesthe ENTIRE CFBundleDocumentTypes array

    这里主要解释一下PlistBuddy的几个关键点.

    • 如何定义嵌套的键值: 正如前面说的它使用一种简单的描述方式,上一层的键值在前面,而每个键值之间使用":"符号分隔,比如:本文最初的例子中Software->Gallery->OnlineMarketplace表述为:":Software:Gallery:OnlineMarketplace", 第一个":"表示根.

    • 而如果键值的名称包含空格等特殊字符的时候,如同命令行的转义字符一样,使用"/"来转义,比如: ":Software:Gallery:Online/ Marketplace".

    • PlistBuddy如果不使用"-c"参数,则进入人机交互模式, "-c"的意思就是执行它后面的命令列表,而命令如果有参数,需要把它们包含在引号中,

    1.添加

    plistbuddy -c 'Add :Software:Gallery:Version string "1.0"' ~/Desktop/com.sample.plist

    2.输出

    plistbuddy -c "Print" ~/Desktop/com.sample.plist

    3.修改

    plistbuddy -c 'Set :Software:Gallery:Version "1.1"' ~/Desktop/com.sample.plist

    4.删除

    plistbuddy -c 'Delete :Software:Gallery:Version' ~/Desktop/com.sample.plist

    5.合并

    plistbuddy -c "Merge ~/Desktop/Global.plist :Software:Gallery" ~/Desktop/com.sample.plist


    展开全文
  • PlistBuddy工具使用

    2019-10-17 14:30:43
    PlistBuddy PlistBuddy 是 Mac 系统中一个用于命令行下读写 plist 文件的工具。可以用来读取或修改 plist 文件的内容。 PlistBuddy 工具路径 /usr/libexec/PlistBuddy 可以在 /usr/local/bin/ 目录下建立软连接...

    PlistBuddy

    PlistBuddyMac 系统中一个用于命令行下读写 plist 文件的工具。可以用来读取或修改 plist 文件的内容。

    • PlistBuddy 工具路径
    /usr/libexec/PlistBuddy
    
    • 可以在 /usr/local/bin/ 目录下建立软连接,就可以直接使用 PlistBuddy 命令了
    # 不能直接使用 PlistBuddy 命令
    ln -s /usr/libexec/PlistBuddy /usr/local/bin/PlistBuddy
    
    • 查看帮助
    /usr/libexec/PlistBuddy --help
    

    操作 plist 文件

    • 打印 info.plist 文件
    /usr/libexec/PlistBuddy -c "Print" info.plist
    
    • 打印字段相应的值
    # 打印 info.plist 中字段 name 值
    /usr/libexec/PlistBuddy -c 'Print :name' info.plist
    
    # 脚本中获取 plist 文件中字段 name 值,并赋值给变量
    name=$($PlistBuddy -c "print :name" info.plist)
    
    # 打印数组字段 testArr 第 0 项
    /usr/libexec/PlistBuddy -c 'Print :testArr:0' info.plist
    
    • 添加字段
    字段类型
    string 
    array 
    dict 
    bool 
    real 
    integer 
    date 
    data 
    # string 类型:给 test.plist 文件添加字段 Version 值为 1.0.0
    /usr/libexec/PlistBuddy -c 'Add :Version string 1.0.0' test.plist
    
    # Array 类型:给 test.plist 文件添加数组字段 AppArr
    
    # 1. 添加 key 值
    /usr/libexec/PlistBuddy -c 'Add :AppArr array' test.plist
    
    # 注意:key之间用 : 隔开,且不能有空格:
    
    # 2. 添加 value 值 app1 、app2
    /usr/libexec/PlistBuddy -c 'Add :AppArr: string app1' test.plist
    /usr/libexec/PlistBuddy -c 'Add :AppArr: string app2' test.plist
    
    # Dictionary 类型: 给 test.plist 文件添加数组字段 AppDic
    
    # 1. 添加 key 值
    /usr/libexec/PlistBuddy -c 'Add :AppDic dict' test.plist
    
    # 2. 添加 value 值 name 、age
    /usr/libexec/PlistBuddy -c 'Add :AppDic:name string Tom' test.plist
    /usr/libexec/PlistBuddy -c 'Add :AppDic:age string 100' test.plist
    
    • 删除字段
    # 删除 test.plist 中的字段 Version
    /usr/libexec/PlistBuddy -c 'Delete :Version' test.plist
    
    • 修改字段值
    # 修改 string 类型
    /usr/libexec/PlistBuddy -c 'Set :version "1.1.1"' test.plist
    
    # 修改 array 类型. 修改 AppArr 字段中数组的第0个值.
    /usr/libexec/PlistBuddy -c 'Set :AppArr:0 "this is app1"' test.plist
    
    # 修改 dict 类型. 修改 AppDic 字段中 name 的值
    /usr/libexec/PlistBuddy -c 'Set :AppDic:name "Jim"' test.plist
    
    • 合并两个 plist
    # 把 A.plist 合并到 B.plist. 有相同字段,会发生覆盖。
    /usr/libexec/PlistBuddy -c 'Merge A.plist' B.plist
    

    原文链接http://www.mengyueping.com/2018/08/13/mac_PlistBuddy/

    我的Blog: http://www.mengyueping.com

    展开全文
  • PlistBuddy简单使用

    2019-09-30 08:07:08
    PlistBuddy简单使用 由于PlistBuddy并不在Mac默认的Path里,所以我们得通过绝对路径来引用这个工具: 查看帮助 /usr/libexec/PlistBuddy --help 下面我们来看看PlistBuddy的简单使用 打印: 初始化一个 ...

     

    PlistBuddy简单使用

    由于PlistBuddy并不在Mac默认的Path里,所以我们得通过绝对路径来引用这个工具:

    • 查看帮助
    /usr/libexec/PlistBuddy --help

    下面我们来看看PlistBuddy的简单使用

    打印:
    • 初始化一个 info.plist 文件

    初始化info.plist
    • 打印info.plist文件
    /usr/libexec/PlistBuddy -c "print" info.plist
    • 在终端输入上述命令后如下所示:
    添加

    • 添加普通字段:
    /usr/libexec/PlistBuddy -c 'Add :Version string 1.0' info.plist
    • 添加数组字段,分两步走,注意:key之间用 : 隔开,且不能有空格
    # 先添加key值
    /usr/libexec/PlistBuddy -c 'Add :Application array' info.plist
    # 添加value值
    yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app1' info.plist yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app2' info.plist yans67deMacBook-Pro:needfiles huangyg$ /usr/libexec/PlistBuddy -c 'Add :Application: string app3' info.plist
    • 添加字典字段,分两步走:
    # 先添加key值
    /usr/libexec/PlistBuddy -c 'Add :Person dict' info.plist
    # 添加value值,
    /usr/libexec/PlistBuddy -c 'Add :Age string secret' info.plist /usr/libexec/PlistBuddy -c 'Add :Person:Name string yans67' info.plist /usr/libexec/PlistBuddy -c 'Add :Person:sex string boy' info.plist /usr/libexec/PlistBuddy -c 'Add :Person:weight string 65' info.plist
    输出

    • 打印字段相应的值:
     /usr/libexec/PlistBuddy -c 'Print :Person' info.plist
    • 在array中我们还可以根据下标打印某个特定的值
    /usr/libexec/PlistBuddy -c 'Print :Application:2' info.plist
    删除

    • 删除字段相应的值:
    /usr/libexec/PlistBuddy -c 'Delete :Version' info.plist
    修改

    • 修改某个字段相应的值:
    /usr/libexec/PlistBuddy -c 'Set :Application:1 string "thi is app1"' info.plist
    合并

    • 当有两个plist文件的时候,我们可以对其进行合并操作
    # 将A.plist 合并到 B.plist中
    /usr/libexec/PlistBuddy -c 'Merge A.plist'  B.plist

    终端中会提示B.plist中有重复的键值,所以默认跳过该键值的合并

    合并前

    原文链接: http://www.jianshu.com/p/2167f755c47e

    参考链接: http://shaojunxiao.com/2017/03/23/使用PlistBuddy修改info-plist文件/?utm_source=tuicool&utm_medium=referral

          https://segmentfault.com/a/1190000002423661

     

    转载于:https://www.cnblogs.com/lurenq/p/6920506.html

    展开全文
  • 安装PlistBuddy

    千次阅读 2016-11-22 16:16:27
    shengrigongsideMac-mini:~ shengrigongsi$ /usr/libexec/ Display all 182 possibilities?...shengrigongsideMac-mini:~ shengrigongsi$ /usr/libexec/PlistBuddy shengrigongsideMac-mini:~ shengrigo


    shengrigongsideMac-mini:~ shengrigongsi$ /usr/libexec/

    Display all 182 possibilities? (y or n)
    shengrigongsideMac-mini:~ shengrigongsi$ /usr/libexec/PlistBuddy
    shengrigongsideMac-mini:~ shengrigongsi$ whoami
    shengrigongsi

    shengrigongsideMac-mini:~ shengrigongsi$ pwd
    /Users/shengrigongsi

    shengrigongsideMac-mini:~ shengrigongsi$ vim .bash_profile

    #!/bin/bash                                                                           
    PATH=$PATH:/usr/libexec/

    shengrigongsideMac-mini:~ shengrigongsi$ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec/PlistBuddy

    shengrigongsideMac-mini:~ shengrigongsi$ PlistBuddy

    展开全文
  • PlistBuddy的使用

    2019-10-17 09:32:31
    除了可以手动操作之外,mac还提供了使用指令操作plist文件的工具---PlistBuddy,在使用脚本修改plist文件时非常有用. PlistBuddy是Mac OS操作系统自带的操作工具,不过Mac OS并没有在环境变量中默认配置该工具,所以...
  • PlistBuddy基本使用方法

    2019-10-16 17:54:52
    plist文件并非直接的代码,不能通过shell脚本直接对其操作,需要使用Macos的PlistBuddy,本文主要描述PlistBuddy在plist文件中具体对象的增删改查四种操作: 引用 而Macos并未在环境变量中默认配置PlistBuddy,...
  • PlistBuddy用法举例

    千次阅读 2015-07-23 14:10:25
    luohsdeiMac:ipa批量打包shell脚本 luohs$ /usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $Info.plist File Doesn't Exist, Will Create: .plist Print: Entry, "CFBundleShortVersionString", ...
  • 使用PlistBuddy修改plist文件

    千次阅读 2018-08-01 21:41:27
    更详细的可以看这篇文章:... 下面举两个例子: 1、修改CFBundleURLTypes下面的CFBundleURLName /usr/libexec/PlistBuddy -c 'Set :CFBundleURLTypes:0:CFBundleURLName wosdfs' info.plist 2、修...
  • 除了可以手动操作之外,mac还提供了使用指令操作plist文件的工具---PlistBuddy,在使用脚本修改plist文件时非常有用. PlistBuddy是Mac OS操作系统自带的操作工具,不过Mac OS并没有在环境变量中默认配置该工具,所以...
  • 使用PlistBuddy工具操作plist文件,通过修改版本号数值实现版本递增 PlistBuddy 语法 Command Format: Help - Prints this information Exit - Exits the program, changes are not saved to the file Save - ...
  • PlistBuddy修改Plist文件

    千次阅读 2015-04-02 23:43:51
    PlistBuddy修改Plist文件   Plist文件是以.plist为结尾的文件的总称. 众所周知, Plist在Mac OSX系统中起着举足轻重的作用,就如同Windows里面的Registry一样,系统和程序使用Plist文件来存储自己的安装/...
  • osx-online2:iQiYiPhoneVideo.app iqiyi$ man PlistBuddy PLISTBUDDY(8) BSD System Manager's Manual PLISTBUDDY(8) NAME PlistBuddy -- read and write values to plists SYNOPSIS
  • ios用PlistBuddy修改Plist文件

    千次阅读 2016-07-14 17:37:06
    Plist文件是以.plist为结尾的文件的总称. 众所周知, Plist在MacOSX系统中起着举足轻重的作用,就如同Windows里面的Registry一样,系统和程序...所幸有PlistBuddy工具,这个工具通过它的简单语法就可以操作嵌套的键值。
  • 1.RefCounted引用计数 class Frame : public RefCounted<Frame> { // ... } http://www.cnblogs.com/dsky/archive/2012/09/06/2673170.html...2.PlistBuddy buildNumber=$(/usr/libexec/PlistBu...
  • http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man8/PlistBuddy.8.html This manual page is for Mac OS X version 10.7.4 Choose a version: 10.5 ...
  • OSX: PlistBuddy不好使了

    千次阅读 2013-12-03 13:32:21
    cfprefsd服务管理,所以使用直接的Plist文件变更会变得不起作用,而原来特别好用的PlistBuddy程序就是一个对Plist文件进行读写的工具,所以单单使用它来操作Plist想控制系统的做法,可以说过时了。而不太好用的...
  • 文章目录 前言 I、Info.plist场景的配置 1.1 支持微信唤起支付 1.2 支持访问相册进行图片保存 1.3 支持访问照相机 NSCameraUsageDescription 1.4 ATS II、使用macOS自带的PlistBuddy进行CURD(增删改查)plist文件 ...
  • 在脚本中操作plist文件

    千次阅读 2016-07-28 11:15:11
    终端输入:/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" /Users/achen/Desktop/testBundle/testBundle/Info.plist /usr/libexec/PlistBuddy 是系统工具的命令,用于操作plist文件。-c "Print ...
  • PlistBuddy 则是 Mac 自带的专门解析 plist 的工具。 由于Macos并未在环境变量中默认配置PlistBuddy,所以需要通过绝对路径来引用(当然你也可以自己配置一下环境变量): ~ ❯ /usr/libexec/PlistBuddy --help ...
  • iOS修改程序版本号(plist文件中的)

    万次阅读 2017-05-17 14:37:49
    /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString 3.0.0" schydbg-Info.plist
  • 用到PlistBuddy工具, mac自带,请自行百度; 设置环境变量后直接使用 packname='com.xxx.xx' #先修改Info.plist文件 PlistBuddy -c "Set :'CFBundleDisplayName' $title" demo/Info.plist PlistBuddy -c "Set :...
  • 自从OS X 10.11和更新版macOS 10.12操作系统发布以来,plutil命令的功能也随之有了增强,是我们可以除了使用defaults和PlistBuddy命令之外,又多了一个有力的操作工具。 本文不仅详尽地介绍了plutil改进功能的详细...
  • Mac Plist tool

    2015-09-29 17:58:01
    PlistBuddy $ /usr/libexec/PlistBuddy -c "print KeyA" A.plist $/usr/libexec/PlistBuddy -h
  • Shell - 20

    2016-12-21 14:38:54
    PlistBuddy 设置 URLTypes
  • buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") buildNumber=$(($buildNumber + 1)) /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIS...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 885
精华内容 354
关键字:

PlistBuddy