首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 5:在项目清理过程中执行预操作脚本

Xcode 5:在项目清理过程中执行预操作脚本
EN

Stack Overflow用户
提问于 2013-10-03 14:30:10
回答 2查看 1.6K关注 0票数 4

我已经在我的方案中添加了自定义脚本作为构建阶段的预操作(我需要在构建实际开始之前执行一些更改(包括Info.plist操作)-因此我不能使用构建阶段脚本,因为它们是在Info.plist复制到产品之后运行的)。一切都很好,除了这个脚本在我清理项目时也会被执行。我不需要它。

我检查了在不同情况下传递给脚本的环境和可能的参数,但在构建和清理场景中它们是相等的。

有没有办法在清理过程中禁用脚本执行?或者,可以在脚本中以某种方式检查它是在清理期间还是在构建期间启动的。

我使用的是Xcode 5。

提前谢谢你。

EN

回答 2

Stack Overflow用户

发布于 2013-11-29 18:24:05

您是否检查了$ACTION环境变量的值?它应该具有用于构建的" build“值和用于清理的"clean”值。

票数 0
EN

Stack Overflow用户

发布于 2022-01-26 11:19:06

查看cleanbuild操作之间env输出的差异,只会发现两个差异:

用于构建的RUN_CLANG_STATIC_ANALYZER=NO、用于清理的YES、用于构建的CLANG_STATIC_ANALYZER_MODE=shallow和用于清理的deep

我不确定这是否足以可靠地区分干净和构建,并且可能会根据其他构建设置而有所不同,但这可能比没有好?

在执行简单的echo $(env) > /tmp/env.log时,Xcode/shell会损坏换行符。我用来生成可用的diff可用输出的操作前fragment是:

代码语言:javascript
复制
: > /tmp/env.log # Truncate the logfile
ENV=$(env)
while IFS= read -r line; do
    echo "$line" >> /tmp/env.log
done <<< "$ENV"

(顺便说一句,这个问题提出8年后,这适用于Xcode 12.5.1。YMMV!)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19152267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档