Iphone 在Xcode中清除/全部清除期间运行脚本

Iphone 在Xcode中清除/全部清除期间运行脚本,iphone,xcode,build,target,Iphone,Xcode,Build,Target,我有一个相当复杂的(iphonesdk)Xcode项目,有很多目标——4个静态lib、单元测试、多个示例应用程序、一个运行shell脚本的BuildAll和一个运行另一个shell脚本的包。“BuildAll”目标在项目中创建一个目录,其中包含一些可供分发的内容的子目录 但是,当我单击“全部清除”时,Xcode不知道如何清除我的分发目录。我很乐意。我似乎找不到办法来做这件事——有人知道怎么做吗 感觉像Clean和Clean All实际上应该只是Xcode中的目标,我应该能够添加一个“运行脚本”

我有一个相当复杂的(iphonesdk)Xcode项目,有很多目标——4个静态lib、单元测试、多个示例应用程序、一个运行shell脚本的BuildAll和一个运行另一个shell脚本的包。“BuildAll”目标在项目中创建一个目录,其中包含一些可供分发的内容的子目录

但是,当我单击“全部清除”时,Xcode不知道如何清除我的分发目录。我很乐意。我似乎找不到办法来做这件事——有人知道怎么做吗


感觉像Clean和Clean All实际上应该只是Xcode中的目标,我应该能够添加一个“运行脚本”阶段。据我所知,情况并非如此

顺便说一句,“BuildAll”目标确实负责清理分发目录,所以这对我来说不是世界末日。在我的特殊情况下,“全部清除”实际上并没有全部清除,这很令人恼火。

您可以通过控制组和文件中的目标节点来尝试添加>新目标…>Shell脚本目标

然后,双击运行脚本节点后,使用$ACTION变量设置任何清理场景,该变量的值可以是clean、install等


最后,新创建的Shell脚本目标应该作为依赖项添加到主目标中。

您可以添加一个在外部脚本中执行清理的“外部目标”,并将该目标作为一个静态库目标的依赖项添加。创建目标,并将其拖动到一个静态库目标下。使用脚本中的$action环境变量检查操作。

是否“Shell脚本目标”与具有“Shell脚本构建阶段”的空目标不同?我已将构建阶段添加到我的应用程序目标中,并检查了$ACTION环境变量,但Xcode似乎根本没有在clean上运行脚本。是的,在构建Xcode项目时,目标和构建阶段具有不同的工作流。它根本不适用于“Shell script Target”。你需要一个“外部目标”,如下链接所示:@moala评论中的更新链接:实际上,上面的链接(kelan.io/2009)应该是开始时的答案。。。那是一篇很棒的帖子。也许你应该把这个链接移到你答案的主体,并把它归为学分…这仍然是最新的吗?我找不到使用Xcode 6lacking信息的“外部目标”选项。。。这个$ACTION环境变量是什么?它是否告诉您正在运行的构建阶段?我不知道清理时运行了任何构建阶段。。。