【问题标题】:What is the meaning of separate settings for project/target in xcode?xcode中项目/目标的单独设置是什么意思?
【发布时间】:2012-04-07 21:18:26
【问题描述】:

[以前的问题标题是ARC设置为YES,但xcode显示NO,为了使问题更清晰而进行了编辑。]强>

我在 xcode 4.2.1 中有一个使用 iOS 5.0 SDK 的 iOS 项目。该项目处于版本控制之下(使用内置的 git 接口),早期提交之一是在我将项目转换为使用 ARC 之后。从那时起,所有的工作都很好,还有更多的提交等。

现在我突然注意到 xcode 中的构建设置显示相关选项(“Objective-C 自动引用计数”)设置为 NO。但是当我直接检查项目设置文件project.pbxproj 时(通过版本控制或仅使用文本编辑器打开它)我看到CLANG_ENABLE_OBJC_ARC 设置为YES

这是我应该担心的问题吗?项目编译运行正常。

编辑

正如 Dondragmer 指出的那样,项目和目标有一个单独的标志。事实上,对于该项目,它设置为 NO,而目标设置为 YES。为项目/目标设置单独的标志是什么意思?

【问题讨论】:

  • 在我的“本机”ARC iOS 应用程序(使用 ARC 创建)中,“Objective-C 自动引用计数”在 LLVM 编译器语言中设置为“YES”。但是我在 LLVM 编译器 3.0 警告中将“Objective-C++ 自动引用计数”设置为“NO”。也许你看错了 C++ 行。
  • 您是否检查过项目和目标的 ARC 设置?您可以将项目设置为 YES,但将目标设置为 NO。或者,也可以反过来。
  • @moxy:不,它在 LLVM 选项下。
  • @Dondragmer:确实,项目设置为 NO,目标设置为 YES。由于我使用“重构”选项将项目转换为 ARC,我猜这是正确的设置(我的意思是,xcode 知道他在做什么)。为项目/目标设置具有不同值的此标志是什么意思?

标签: objective-c ios xcode automatic-ref-counting


【解决方案1】:

现在的问题显然是:“为项目/目标设置单独的标志是什么意思?”

除非您在一个项目中有多个目标,否则这并不重要。如果这样做,您可以在项目级别设置通用设置。 (例如,基础 SDK,或者 ARC 是否打开,或者您正在使用哪个编译器。)

然后,在您的目标中,只设置少数需要不同的设置。

这样,当您确实想更改基础 SDK 或更改编译器时,您可以在一个地方完成,而不是更改每个目标。这可以使大型项目更容易处理。

【讨论】:

  • 谢谢。我已经意识到问题已经改变了,但我不知道完全改变标题是否是一个好的做法(所以我保持原样)。
  • 如果您有更好的标题,可以(甚至有帮助)更改标题,但绝对不是必需的。
猜你喜欢
  • 2020-06-04
  • 2020-04-25
  • 2013-07-11
  • 1970-01-01
  • 2014-09-11
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
相关资源
最近更新 更多