3

我制作了这个脚本来自动增加每个构建的构建号:

#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $INFOPLIST_FILE)
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" $INFOPLIST_FILE

我将它插入到“复制捆绑资源”之前的构建阶段。我收到一条错误消息:

命令 /bin/sh 失败,退出代码为 1 /Users/ricardodelfingarcia/Library/Developer/Xcode/DerivedData/Flat_Wars-bhkfhubvxegpazcnqcswodoejxeo/Build/Intermediates/Flat Wars.build/Debug-iphoneos/Flat Wars.build/Script-B6B328B815AA6F9900C26C37.sh :第 4 行:文件不存在,将创建:Flat Invalid Arguments + 1.0:语法错误:无效算术运算符(错误标记是“不存在,将创建:Flat Invalid Arguments + 1.0”)解析错误:未闭合的引号值设置命令所需

问题是什么?

4

3 回答 3

3

问题是您的目录名称中有空格。

这将起作用:

#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
于 2013-03-10T01:22:14.510 回答
0

语法错误:无效算术...告诉您这是错误所在的第二行。因此,只需单独运行第二行并回显 $buildNumber,然后您就会看到为什么 PlistBuddy 命令不起作用以及为什么它给您错误“...不存在,将创建:Flat ...”

于 2012-07-09T07:12:34.543 回答
0

检查是否CFBundleVersion存在于您的 Info.plist 中。

如果不存在,您的脚本将无法创建CFBundleVersion,并且它停止工作。只需添加CFBundleVersion您的 Info.plist,您的脚本就会更新它。

于 2013-01-22T21:19:40.263 回答