*.plist 文件是 iPhone / iPad / Mac 应用目录里必包含的文件。此种文件包含了应用的配置信息。为了便于解析信息,此种文件必定是结构化文件。常见的 *.plist 文件都是 xml 格式文件。一般情况下用任何常见的文本编辑器都能阅读其内容。
最近我发现还有一种二进制(binary)格式的 plist 文件。因为这种文件在 Xcode 或者 Finder 预览里才能看到里面的内容,非常不方便。那么有没有更方便的方式来操作 *.plist 文件呢?(废话,题目就是答案)
操作系统提供了专门的命令行 —— plutil (property list utility),名字取的好,顾名思义。下面我们先来看一下所谓的二进制格式 plist 文件的特征。
$ file Info.plist
Info.plist: Apple binary property list
复制
通过输出可以看出该文件为 binary property list 文件。如果我们直接查看文件内容:
$ cat Info.plist
bplist00�
!"#%&'()'*+,-).-2568<_ ... // 此处省略 1W 字符 :)
复制
二进制编码文件用常规编码的方式查看毫无疑问是乱码。
接下来用本文的主角 plutil 来征服它:
$ plutil -convert xml1 -o - Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20A5364e</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>ceshangcoding</string>
<key>CFBundleIdentifier</key>
<string>com.ceshangcoding.ceshangcoding</string>
<!-- 此处省略 1W 字符 :) -->
</dict>
</plist>
复制
轻松搞定。
转化格式除了 xml1, 还有 binary1、json、swift、objc。甚至可以增删改查 plist 文件。
如果你想了解上述命令的意义或者更多的用法详情,请参阅:plutil -help 或者 man plutil。
如厕完毕,感谢阅读。
文章转载自厕上Coding,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。