需求:通过脚本修改plist的URL数值,通过了解 MAC自带PlistBuddy修改plist。 通过shell脚本调用PlistBuddy可以解决问题。
开搞!
1.PlistBuddy
- Mac自带的一个操作plist文件的工具
- 路径:/usr/libexec/PlistBuddy
- 使用: /usr/libexec/PlistBuddy -c "Set key value" plistUrl
- 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
2.Shell脚本
上我写的shell脚本,直接在Xcode编写。
echo "--------------------------"
echo 'plist path:'
read FILM
/usr/libexec/PlistBuddy -c "Print" $FILM
echo "--------------------------"
echo 'ipa path'
read ipa
/usr/libexec/PlistBuddy -c 'Add :targetKey string "'$ipa'"' $FILM
# /usr/libexec/PlistBuddy -c 'set :arr:0:2 "'$ipa'"' $FILM
echo "--------------------------"
echo "---------success----------"
3.运行shell脚本
赋予脚本可执行的权限
1、进入Mac终端(快捷键:command+Space,输入Terminal 回车);
2、进入shell文件所在的目录:命令:cd /Users/zack/desktop (注意,cd 后面有一个空格,后面是上面所建立的script.sh文件所在的目录);
3、赋予脚本可执行权限,输入命令:chmod +x script.sh 回车
运行脚本经过上述步骤,script.sh已经成为一个可执行脚本,输入命令:./script.sh 回车,终端输出“plist path:”
屏幕快照 2018-07-04 下午2.31.14.png参考文章
在脚本中操作plist文件 链接:https://www.jianshu.com/p/9dd6bae40de6
PlistBuddy 链接:https://www.jianshu.com/p/e0d254ce9340
shell教程 链接:http://www.runoob.com/linux/linux-shell.html
JAVA生成plist 链接:https://blog.csdn.net/chenyblog/article/details/68484120
网友评论