Ios 在OSX中写入文件
我有剧本。我为iTunes Connect在Mac Mini上自动上传iOS代码而设计。我的问题是,我必须更改CbundleShortVersionString,以隐藏我们的内部版本控制。这也很重要,因为iTunes Connect警告我版本无效Ios 在OSX中写入文件,ios,macos,bash,Ios,Macos,Bash,我有剧本。我为iTunes Connect在Mac Mini上自动上传iOS代码而设计。我的问题是,我必须更改CbundleShortVersionString,以隐藏我们的内部版本控制。这也很重要,因为iTunes Connect警告我版本无效 #!/bin/bash cat info.plist | grep -A1 "CFBundleShortVersionString" | sed "s/\(<string>\).*\(<\/string>\)/\1%CFBUND
#!/bin/bash
cat info.plist | grep -A1 "CFBundleShortVersionString" | sed "s/\(<string>\).*\(<\/string>\)/\1%CFBUNDLESHORTVERSION%\2/g" > info.plist_in.bk
cat info.plist_in.bk
cat info.plist | grep -A1 "CFBundleShortVersionString" | grep -v CFBundleShortVersionString | egrep "[A-z0-9]+" > delete.txt
cat delete.txt
cat info.plist | grep -v "CFBundleShortVersionString" > infoi.plist_in
cat infoi.plist_in
touch info.plist_in
cat infoi.plist_in | grep -v $(cat delete.txt) > info.plist_in
cat info.plist_in.bk >> info.plist_in
sed -i .bk2 -e "s/<\/dict>//g" info.plist_in
sed -i .bk3 -e "s/<\/plist>//g" info.plist_in
echo "</dict>" >> info.plist_in
echo "</plist>" >> info.plist_in
cat info.plist_in > info.plist
有什么想法吗
编辑:
xcrun-agvtool命令没有解决问题,这就是我编写自己脚本的原因
每个命令在语法上都是正确的,当我清楚地运行它们时,代码会执行我想要的操作 改用
PlistBuddy
()编写版本字符串:
$ /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString YourVersion" file.plist
如果要在
plist
中自动增加内部版本号(一个好主意),请参见。您可能需要使用set-e
在出现第一个错误时停止脚本。您可能还希望使用set-x
进行调试。这些错误表明您试图(有时)cat
的文件不存在,并且您对grep
的使用在语法上是错误的。我建议man grep
,制作通用字符串,例如文件名、变量和使用。
$ /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString YourVersion" file.plist