我想在这里实现了答案:自动增量编号xcode?
Better way of incrementing build number?
,但不能让它正常工作。它错误地说错误2说“没有编号在plist”
但是,如果我把我的plist内部编号,脚本清除它在下一个版本,然后同样的事情发生了一遍。
任何想法?
我想在这里实现了答案:自动增量编号xcode?
Better way of incrementing build number?
,但不能让它正常工作。它错误地说错误2说“没有编号在plist”
但是,如果我把我的plist内部编号,脚本清除它在下一个版本,然后同样的事情发生了一遍。
任何想法?
下面是如何递增的内部版本号:
在Target>摘要选项卡,设置初始构建#
然后使用这个脚本来增加内部版本号:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%04d" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
或者如果你想以十六进制编号:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$((0x$buildNumber))
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%04X" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
我的解决方案如下:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(echo $buildNumber | sed 's/0*//')
buildNumber=$(($buildNumber + 1))
buildNumber=$(printf "%04d" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
使用SED删除前导零,增加值,并在打印回plist文件使用四位数零填充的数字。
这一个适用于我(Mac应用程序,10.9),而从NSBum的一个不... –
回到...... 000A后,它回滚到“0001”! –
因为它只打印数字,所以没有000A。我可以向你保证这个工作完美无瑕,因为我现在编号为2923,而我从0开始。在0009之后它变为0010.在9999之后它变为10000.仔细检查你是否真的*使用我的代码。 –
谢谢..可能是这个问题,我最初设置为1.1.0.0构建,因为我认为这是如何构建版本格式化,做没有小数似乎工作,但现在建立只是单个数字。我怎样才能让它成为4位数的内部版本号格式? – ourmanflint
@ourmanflint我认为上面的代码片段会给你一个四位数的内部编号('%04d'和'%04X'),或者你的意思是一个四位数字,如1.1.0.0?取决于是否要增加内部版本号“CFBundleVersion”,版本号“CFBundleShortVersionString”或两者。 – FluffulousChimp
应该删除buildNumber = $((0x $ buildNumber))行,因为它在十六进制数中转换十进制数。 –