在Xcode 4中,设置用户标题searchpath中断代码感

我想要的设置是一个主要的项目,这取决于一个子项目(它产生一个静态库)。 将子项目添加到Xcode可以正常工作,但正如您所期望的那样,您必须将User Header Searchpath设置为包含子项目的文件夹,除非您想明确地将子项目的文件添加到主项目中,这样做的目的该子项目。

从我所知道的情况来看,设置User Header Searchpath会在下次打开项目时打破主程序中的代码感和“跳转到定义”的导航。

这是一个示例,超简单的股票项目,说明了这个问题:

http://dl.dropbox.com/u/579169/MainProject.zip

如果您转到应用程序委托并尝试跳转到属性引用的定义,比如说self.window,Xcode只是简单地给出了它所知道的所有“窗口”属性的列表。 同样,自动完成function也无法正常工作。

如果删除用户头部searchpath,closures该项目并重新打开它,代码感觉按预期工作。

我已经提交了一个苹果的错误,但想知道是否有人遇到这个特定的问题,或有一个合理的解决方法。 删除项目“派生”生成文件夹触发重新索引不能可靠地工作。

解决方法是在静态库中公开头文件。 然后将以下内容添加到用户标题searchpath

"${BUILT_PRODUCTS_DIR}/usr/local/include/" 

我向苹果公司报告了这一情况,他们报告说它是在2011年6月6日在XCode 4.1(仅限于Lion)修复的。 我还没有确认修复,因为我没有将我的开发机器升级到Liontesting版。