从iOS项目包读取plist文件

从iOS项目包读取plist文件,ios,xcode,Ios,Xcode,我有一个plist文件customversion.plist,它包含两个属性max\u ver(string)和min\u ver(string),分别被赋值为0和10 每当XCode准备构建时,我都希望读取最小版本值并使用shell脚本覆盖Info.plist版本 我写了以下脚本: CUSTOMVERPLIST = "customversion" buildNumber=$(/usr/libexec/PlistBuddy -c "Print MAX_VER" ${BUILD_ROOT}/${C

我有一个plist文件customversion.plist,它包含两个属性max\u ver(string)和min\u ver(string),分别被赋值为0和10

每当XCode准备构建时,我都希望读取最小版本值并使用shell脚本覆盖Info.plist版本

我写了以下脚本:

CUSTOMVERPLIST = "customversion"
buildNumber=$(/usr/libexec/PlistBuddy -c "Print MAX_VER"
${BUILD_ROOT}/${CUSTOMVERPLIST.plist})
buildPlist=${INFOPLIST_FILE}
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $CONFIGURATION-$buildNumber" $buildPlist
我的问题是customversion.plist文件似乎没有被读取,也没有获得min\u ver的值

有人能告诉我如何从project bundle中读取plist文件吗


提前感谢。

${CUSTOMVERPLIST.plist}
不是有效的语句。这对我很有用:

CUSTOMVERPLIST="${PROJECT_DIR}/${PROJECT_NAME}/customversion.plist"
buildNumber=$(/usr/libexec/PlistBuddy -c "Print MAX_VER" ${CUSTOMVERPLIST})
buildPlist="${INFOPLIST_FILE}"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $CONFIGURATION-$buildNumber" $buildPlist

${CUSTOMVERPLIST.plist}
不是有效的语句。这对我很有用:

CUSTOMVERPLIST="${PROJECT_DIR}/${PROJECT_NAME}/customversion.plist"
buildNumber=$(/usr/libexec/PlistBuddy -c "Print MAX_VER" ${CUSTOMVERPLIST})
buildPlist="${INFOPLIST_FILE}"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $CONFIGURATION-$buildNumber" $buildPlist

我复制并粘贴了你的脚本。结果应该是Debug-10,但不是,而是Debug用法:PlistBuddy[-cxh]-c execute命令,否则在交互模式下运行-x输出将以xml plist的形式(在适当的情况下)-h打印完整的帮助信息,带有命令指南似乎XCode有一些问题。我删除了整个项目并重新创建了新项目。再次运行脚本,现在它工作了。谢谢有没有关于如何清理以使其始终工作的想法?清理什么?我运行了错误的脚本..我用你的替换了它。它仍然在给我旧剧本的结果。所以我想,也许清洁项目会有所帮助,但这并没有起作用。所以我删除了整个项目,创建了新的示例项目,并测试了您的脚本,它成功了。那么,是否存在缓存脚本并需要清理的位置?如果修改脚本,请清理(Cmd+Shift+K)构建,然后构建以执行脚本。我复制并粘贴了您的脚本。结果应该是Debug-10,但不是,而是Debug用法:PlistBuddy[-cxh]-c execute命令,否则在交互模式下运行-x输出将以xml plist的形式(在适当的情况下)-h打印完整的帮助信息,带有命令指南似乎XCode有一些问题。我删除了整个项目并重新创建了新项目。再次运行脚本,现在它工作了。谢谢有没有关于如何清理以使其始终工作的想法?清理什么?我运行了错误的脚本..我用你的替换了它。它仍然在给我旧剧本的结果。所以我想,也许清洁项目会有所帮助,但这并没有起作用。所以我删除了整个项目,创建了新的示例项目,并测试了您的脚本,它成功了。那么,是否存在缓存脚本并需要清理的位置?如果修改脚本,请清理(Cmd+Shift+K)生成,然后生成以执行脚本。