xcode - 如果我在构建之前不清理,我会遇到问题吗?

标签 xcode git xcodebuild pre-commit-hook

我已经编写了一个 git 预提交 Hook ,如果我的 xcode 项目无法编译,它会中止提交。

它通过使用适合我的项目的设置运行 xcodebuild 来实现。如果 xcodebuild 返回非零状态,则您无法提交更改。

这是我正在运行的 xcodebuild 命令:

xcodebuild -project MYPROJ/MYPROJ.xcodeproj -target MYPROJ -configuration Debug clean build CODE_SIGN_IDENTITY='iPhone Developer' >/dev/null 2>&1

我想知道的是,如果我从构建命令中删除“clean”,我会遇到什么问题?我对“干净”的作用有一个模糊的理解:删除以前编译的对象,这将导致以下构建命令从头开始构建整个项目。

但是,对于我们的项目来说,完整的构建需要很长时间,而如果我们不进行清理并且没有进行大量修改,则只需要几秒钟。我想保持我们的预提交 Hook 快速和轻量级,但我担心构建会进入一些奇怪的状态并阻止开发人员能够提交,即使他们的代码很好。

如果我在每次构建前不清理我的预提交 Hook ,我会遇到问题吗?在某些情况下,它是否会错误地报告构建错误,或者如果我不清理,它会不会出现问题?

最佳答案

如果你想确定你的提交编译,你应该在构建之前清理。有时库和资源会变得困惑,这就是 clean 命令存在的原因。您要确保检查该修订版的人可以毫无问题地编译该项目。你不能保证如果你可能有一些以前构建的遗留物,比如旧资源。

想象一下为您的 GUI 使用图像。你编译你的应用程序并且它可以工作。然后你稍微重组你的资源,并以某种方式最终从项目中删除图像。如果您再次运行该应用程序,如果您不清理项目,它仍然可以加载旧图像。所以它对你有用,但对结构干净的人无效。

关于xcode - 如果我在构建之前不清理,我会遇到问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126285/

相关文章:

Eclipse 导入 > Git 选项不可用

xcode - 使用 xcodebuild 构建时出错

iphone - xcodebuild安装路径?

ios - 存档通过了验证,但有几个警告

iphone - 访问 navcontroller iphone 的 rootviewController 时出现问题

XCode 7.3.1 更新未安装

Git子模块初始化异步

iphone - 为体系结构 'GCC 4.2' 选择了不受支持的编译器 'armv7'

git - 错误 `remote: fatal: bad object 0000000000000000000000000000000000000000` 是什么意思?

ios - xcode 8 xcodebuild 从命令行为多个配置文件手动代码签名