我正在尝试基于git在xcode中设置包版本。
#!/bin/bash
BRANCH=${1:-'master'}
BUILD_NUMBER=$(expr $(git rev-list $BRANCH --count) - $(git rev-list HEAD..$BRANCH --count))
echo "Updating build number to $BUILD_NUMBER using branch '$BRANCH'."
APP_INFO_PLIST="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
DSYM_INFO_PLIST="${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "$APP_INFO_PLIST"
if [ -f "$DSYM_INFO_PLIST" ] ; then
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "$DSYM_INFO_PLIST"
fi
但是我在这一行遇到了错误:
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "$DSYM_INFO_PLIST"
我在读取该文件时出错“错误读取文件:...”。
但是,当我检查该文件时,它确实存在。它是在这个构建步骤之后创建的吗?
我仔细检查过这个脚本是否设置为在Copy Bundle资源之后和我的一些可可豆荚之后运行。
修改: 搜索它看起来像xocxcodee 6这个解决方案很好。我正在运行xcode 7。
答案 0 :(得分:0)
我的问题是如何在xcode中设置构建版本。我把它设置为
<set in build phase>
plist文件是xml,xcode不会转义您在构建中放置的文本。 '&lt;'和'&gt;'正在搞乱plist,因为它是无效的xml,在尝试读取文件时又会引发错误。
小心你为xmp构建版本放入xcode的文本。