使用rsync的XCode构建阶段不从bundle中删除文件

时间:2012-03-06 13:11:04

标签: xcode build-process build-automation rsync resourcebundle

我添加了两个资源文件夹作为我的XCode项目的文件夹引用。根据{{​​3}}的建议,我创建了一个使用rsync命令复制这些文件夹的新构建阶段,以便在运行应用程序时无需清理项目即可显示此文件夹中文件的更改。然后,我将构建阶段放在“复制捆绑资源”之后,并从中删除了我的两个文件夹。以下是构建阶段的命令:

rsync -a --delete --exclude=.svn "${SRCROOT}/Resources/Episode1" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
rsync -a --delete --exclude=.svn "${SRCROOT}/Resources/Common" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"

它似乎工作正常,但删除的文件仍然在我的应用程序包中。我注意到,如果我转到“$ {TARGET_BUILD_DIR} / $ {UNLOCALIZED_RESOURCES_FOLDER_PATH}”所代表的文件夹,我删除的文件并不像预期的那样,但如果我在模拟器中检查我的应用程序包,文件仍然存在。有线索吗?

1 个答案:

答案 0 :(得分:0)

简单的解决方案是在使用这样的rsync时,不时地从模拟器/ ios设备上进行干净的构建和删除应用程序。

查看rsync手册页: http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/rsync.1.html

我在项目中使用以下命令:

rsync -avzq --exclude='.DS_Store' --exclude='.*' "${SRCROOT}/bin/data/" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 

我没有使用--delete,因为这会删除在我的案例中部署在主app目录中的部署版本/ Xcode规定