2012-07-22 82 views
1

我不记得有这个问题,我迁移到我的视网膜MacBook Pro之前,但因为这样做,我的项目坚持在“旧”的开发位置加载。在过去的几年里,在XCode 4之前,我们把所有的产品都放在了/Development/Products。而且,在迁移到新的MacBook Pro后,他们又回到了那里。我可以使用4.3或更高版本,并看到两者都有同样的问题,所以我假设它是某种可配置的,可以在这里工作。Xcode生成产品文件夹不会更改为独特

当然,我做的第一件事是验证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/Products,并且在默认配置文件的情况下build

显然这里有一些影响配置的系统,但我无法弄清楚它是什么。任何援助将不胜感激!

此外 - 当我尝试使用选项 - 清洁启用清洁生成文件夹,它从来没有启用,这使某种意义上,但我认为这可能是另一个数据点。

我尝试了Strange behavior of Xcode Build Products Path under Build Locations中的解决方案,这个解决方案与删除偏好设置的结果相同:将产品构建为项目目录的子项。

有没有人见过这样的问题?你找到了解决方案吗?

回答

1

好吧,在笔记本电脑上经历了很长时间的痛苦后,我终于找到了问题所在。

的内幕:

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

有一个WorkspaceSettings.xcsettings文件。

它包含一个密钥BuildLocationStyle,它被设置为UseTargetSettings

删除文件并重置此值可以让我获得Clean Build Folder...的工作并正确构建项目。

希望这会帮助别人。

+0

刚刚碰到这个,我发现这是通过文件>项目设置或文件>工作区设置设置的。 – Eric3 2015-08-27 05:06:50