1

我不记得在我迁移到我的 Retina MacBook Pro 之前遇到过这个问题,但是自从这样做之后,我的项目一直坚持在“旧”开发位置加载。在过去的几年中,在 XCode 4 之前,我们将所有产品都放在/Development/Products. 而且,在迁移到新的 MacBook Pro 之后,他们又回到了那里。我可以使用 4.3 或更高版本并看到两者都存在相同的问题,所以我假设它是某种可配置的在这里工作。

当然,我做的第一件事是验证 Preferences/Locations 是否设置为 Build Location = Unique。我在 GUI 中确认了这一点,并通过打开 .plist 来检查它的值IDEBuildLocationStyle并将其设置为唯一。

我尝试删除我现有的配置文件(~/Library/Preferences/名为Xcode中的所有内容),并且成功地改变了将输出放在build项目本身目录中的行为(在我的世界中真的没有帮助,因为我有复杂的多项目工作区)。退出并检查设置,它们被设置为IDEBuildLocationStyle=Unique.

因此,我将工作配置从另一台机器复制到了这台机器上。由于它之前也有/Development/Products目的地,但随后被转移到独特的构建风格,我希望这能奏效。它没有。而是将输出返回到/Development/Products.

认为这可能与我的 Xcode 安装有关,我创建了一个新用户并从相同的源代码树构建(不是重复,不是副本,完全相同的文件)。在这种情况下,输出到正确的位置(该用户的派生产品的唯一子目录)。因此,我再次吹走~/Preferences/*Xcode*并复制了新用户的首选项。不幸的是,这使我们回到了与未初始化配置相同的行为,即在项目本身的构建目录中构建。

我恢复到我的备份配置文件,现在我又回到了工作/Development/Products,但这不是一个好的长期解决方案。

在检查测试脚本的脚本输出时,我可以清楚地看到有人在旧配置的情况下设置SYMROOT为,在默认配置文件的情况下。/Development/Productsbuild

很明显,这个系统上有些东西会影响配置,但我无法弄清楚它是什么。任何帮助将不胜感激!

另外 - 当我尝试使用 option-Clean 来启用 Clean Build Folder 时,它从未启用,这具有某种意义,但我认为它可能是另一个数据点。

我在 Build Locations 下的 Xcode Build Products Path的奇怪行为中尝试了解决方案,结果与删除首选项相同:将产品构建为项目目录的子项。

Has anyone else seen such a problem? Have you found a solution?

4

1 回答 1

1

Well, after a very long time of suffering through this on my laptop, I was finally able to track down the problem.

Inside of:

project.xcworkspace/xcuserdata/<user>.xcuserdatad/

there is a WorkspaceSettings.xcsettings file.

It contained a key BuildLocationStyle, which was set to UseTargetSettings.

Deleting the file and thus resetting this value allowed me to get both the Clean Build Folder... working and to get my project building correctly.

Hopefully this will help somebody else.

于 2013-04-09T18:53:24.173 回答