在迁移到我的Retina MacBook Pro之前,我不记得有这个问题,但是自从这样做以来,我的项目一直坚持在“旧的”开发地点加载。在过去的几年中,在XCode 4之前,我们将所有产品都放在/Development/Products
中。并且,在迁移到新的MacBook Pro之后,他们又回到了那里。我可以使用4.3或更新版本,并且两者都看到相同的问题,所以我假设它是某种可配置的,在这里工作。
当然,我做的第一件事是确认首选项/位置设置为Build Location = Unique。我在GUI中确认了这一点,然后弹出.plist以检查IDEBuildLocationStyle
的值,并将其设置为Unique。
我尝试删除现有的配置文件(在名为 Xcode 的~/Library/Preferences/
中删除)并成功更改了将输出放在项目的build
目录中的行为本身(因为我有复杂的多项目工作空间,所以对我的世界没有帮助)。退出并检查设置时,设置为IDEBuildLocationStyle
= Unique.
所以,我从另一台机器复制了工作配置。由于它以前也有/Development/Products
目的地,但随后被转移到Unique构建样式,我希望它能够工作。它没。它将输出返回到/Development/Products
。
认为它可能是我的Xcode安装的东西,我创建了一个新用户并使用相同的源代码树构建(不是重复,不是副本,完全相同的文件)。在这种情况下,输出转到正确的位置(该用户的派生产品的唯一子目录)。因此,我再次吹掉~/Preferences/*Xcode*
并复制新用户的首选项。不幸的是,这使我们回到了未初始化配置所具有的相同行为,也就是说在项目本身的构建目录中构建。
我已恢复到我的备份配置文件,现在我又回到/Development/Products
工作了,但这不是一个好的长期解决方案。
在检查测试脚本的脚本输出时,我可以清楚地看到有人在旧配置的情况下将SYMROOT
设置为/Development/Products
,并且在{1}}的情况下设置为build
默认配置文件。
显然,这个系统上有一些东西正在影响配置,但我无法弄清楚它是什么。任何帮助都将受到高度赞赏!
此外 - 当我尝试使用选项 - 清理启用清洁构建文件夹时,它从未启用,这具有某种意义,但我认为它可能是另一个数据点。
我尝试了Strange behavior of Xcode Build Products Path under Build Locations中的解决方案,其效果与删除首选项相同:将产品构建为项目目录的子项。
还有其他人见过这样的问题吗?你找到了解决方案吗?
答案 0 :(得分:1)
好吧,经过很长一段时间在我的笔记本电脑上遭受这种痛苦之后,我终于能够找到问题。
内部:
project.xcworkspace/xcuserdata/<user>.xcuserdatad/
有WorkspaceSettings.xcsettings
个文件。
它包含一个键BuildLocationStyle
,设置为UseTargetSettings
。
删除文件然后重置此值可以让我Clean Build Folder...
正常工作并使我的项目正确构建。
希望这会对其他人有所帮助。