我想要的设置是一个主项目,它取决于子项目(生成静态库)。将子项目添加到Xcode工作正常,但正如您所期望的那样,您必须将用户标题搜索路径设置为包含子项目的文件夹,除非您要明确地将子项目的文件添加到主项目中,这样做会破坏目的。子项目。
据我所知,在下次打开项目时,设置用户标题搜索路径将破坏主项目中的代码感和“跳转到定义”导航。
这是一个示例,超级简单的股票项目,说明了问题:
http://dl.dropbox.com/u/579169/MainProject.zip
如果您转到Application Delegate并尝试跳转到属性引用的定义,比如self.window,Xcode只会给出一个它知道的所有“窗口”属性的列表。同样,自动完成功能无法正常工作。
如果删除用户标题搜索路径,请关闭项目并重新打开它,代码检测将按预期工作。
我已经向Apple提交了一个错误,但是想知道是否有人遇到过这个特定的问题,或者有一个合理的解决方法。删除项目“derived”构建文件夹以触发reindex不能可靠地工作。
答案 0 :(得分:2)
解决方法是在静态库中公开标头。然后将以下内容添加到用户标题搜索路径
"${BUILT_PRODUCTS_DIR}/usr/local/include/"
答案 1 :(得分:1)
我向Apple报告了这一情况,他们报告说它已于2011年6月6日在XCode 4.1(仅限Lion)中修复。我还没有确认修复,因为我没有将我的开发机器升级到Lion beta。