我有一个游戏中有xml文件。我的游戏适用于iPad和iPhone,我需要相应地对这些xml文件进行一些更改,但xml文件是原始的,我不希望它们被更改,所以我想要的是我的xml文件在编译时自动更改。为此我有一个ruby脚本,它可以满足我的需要。 假设这个脚本是level_converter.rb 我可以执行(在终端中)如下:
for f in Resources/*.xml; do ruby level_converter.rb "$f"; done
所以我将此代码添加到Build Phases to Run Script这样做,这确实按预期工作,它确实正确地更改了所有xml文件,但是它改变了资源中的原始xml文件。所以说如果我跑了两次 - 我会将这些文件更改两次。我想要的是这些文件保持不变,但只有那些部署应该改变。所以我需要某种$(PROJECT_DISTRIBUTION_AND_DEVELOPEMENT_TEMP_FOLDER)或类似的东西,而不仅仅是Resorces / * .xml例如。
for f in $(PROJ_DISTRIB_AND_DEV_TMP_FLDE)/*.xml; do ruby level_converter.rb "$f"; done
编辑:问题一定不是那么清楚,所以我已经改写了
此致 伊戈尔
答案 0 :(得分:0)
我能够实现我想要的,这是脚本:
PROJ_DIR=${PWD}
echo "Converting xml files..."
for f in "${CODESIGNING_FOLDER_PATH}/"*.xml
do
cp $PROJ_DIR/Resources/"${f##*/}" "$f"
ruby level_converter.rb "$f" $PROJ_DIR/key_hash;
done
exit 0;
所以我使用了这个$ {CODESIGNING_FOLDER_PATH}变量。
说明:
这样做我不想但是有缺点/疑点:
编辑:我在编译源代码之前移动了运行脚本,并且从那时起没有收到有关已签名资源的任何警告。徘徊,如果这是原因