use*_*062 19 macos shell scripting plist pkgbuild
我使用pkgbuild创建了一个默认的Component Property List文件.该文件看起来像:
<?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">
<array>
<dict>
<key>BundleHasStrictIdentifier</key>
<true/>
<key>BundleIsRelocatable</key>
<true/>
<key>BundleIsVersionChecked</key>
<true/>
<key>BundleOverwriteAction</key>
<string>upgrade</string>
<key>RootRelativeBundlePath</key>
<string>MyApp.app</string>
</dict>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)
我想使用shell脚本修改此文件.我尝试使用默认值写但它没有做任何事情.
有什么办法呢?(例如:我想将BundleIsRelocatable设置为false)
jm6*_*666 31
也:
plutil -replace BundleIsRelocatable -bool false plistfilename.plist
Run Code Online (Sandbox Code Playgroud)
kuz*_*zdu 10
对于字符串使用
plutil -replace NameOfProperty -string "yourNewValue" plistFileName.plist
Run Code Online (Sandbox Code Playgroud)
/usr/libexec/PlistBuddy -c "Set :BundleIsRelocatable bool false" plistfilename.plist
Run Code Online (Sandbox Code Playgroud)
它可以作为一个命令行运行来更新键/值。我一般用它来更新,可以在这篇文章中CFBundleVersion
找到。
有点晚了,但为了记录,您只需要指定绝对路径并将.plist扩展名添加到文件名。如果您在 plist 文件所在的同一目录中运行脚本,您的案例将被转换为:
defaults write $PWD/YourPlistFilename.plist BundleIsRelocatable -bool false
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12643 次 |
最近记录: |