【发布时间】:2016-03-02 20:18:52
【问题描述】:
在我的 Info.plist 文件中,我想在 shell 上修改一个 Plist 文件,如下所示:
<plist version="1.0">
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>urlname-1</string>
</dict>
</array>
</dict>
</plist>
现在我想使用 PlistBuddy 使它看起来像这样,将 CFBundleURLSchemes 键添加到字符串数组值(或所有其他值):
<plist version="1.0">
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>urlname-1</string>
<key>CFBundleURLSchemes</key>
<array>
<string>urlscheme-1</string>
</array>
</dict>
</array>
</dict>
</plist>
如何使用 PlistBuddy 实现这一目标?
假设CFBundleURLTypes 的数组值为空:
通过执行/usr/libexec/PlistBuddy -c "Add :CFBundleURLTypes:0:CFBundleURLName string 'urlname-1'" Info.plist,我可以将字典添加到数组中,包括它的第一个键/值对:
<plist version="1.0">
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>urlname-1</string>
</dict>
</array>
</dict>
</plist>
但我不知道如何将第二个键,例如 CFBundleURLSchemes 与字符串数组值放入同一个字典中。
谁能给我指点? PlistBuddy 是否可以做到这一点?
【问题讨论】: