Xcode 4:如何向项目添加静态库目标依赖项

McK*_*ssy 17 xcode4 build-dependencies

我知道,这已被问过几次,但主要是针对Xcode 3.x. 对于iPad,我有两个项目都住在一个共同的工作区

  • Foo,一个基于视图的应用程序和
  • Foolib,一个静态的Cocoa-Touch库

前者取决于后者.我似乎无法弄清楚如何添加该依赖项.在文档中没有很好地解释,所以我尝试了以下内容:

  1. 单击左侧导航区域中的Foo项目,
  2. 选择Build Phases up the top并展开Target Dependencies部分
  3. 单击加号按钮,但结果列表为空.

我也尝试将.a文件拖放到该部分,但收效甚微.此外,文档说明

如果工作空间中一个项目的构建产品依赖于工作空间中另一个项目的构建产品(例如,如果一个项目构建另一个项目使用的库),Xcode会发现这样的隐式依赖关系并以正确的顺序构建.

我想知道Xcode如何发现这些依赖项.Apple是否说我根本不需要添加这个目标依赖项?但那么Xcode如何发现一个人正在使用另一个?

最后但同样重要的是,我需要将Foolib的.h文件以某种方式传递给Foo.建议的方法是什么?显然,我不想只是复制它们.对于框架,头文件包含在内,但人们在处理它们自己并行开发的静态库时通常会做些什么.

向正确的方向轻推将非常感激.谢谢.

Flu*_*imp 13

通常,Xcode 4似乎会自动发现依赖关系,如编辑方案表所示.其他开发人员已经提到过,依赖关系不会自动发现,需要明确列出它们:

因此,编辑方案 - >构建 - >从工作区添加目标.

就静态库头文件而言,Xcode 4似乎存在问题,至少在代码完成和语法突出显示方面存在问题.唯一的方法是我可以使用静态库中的类正常工作,将有问题的头文件的副本拖到主项目中的组文件夹中.请注意,您应该取消选中Add to Target ...这将处理语法突出显示和代码完成.其余的应该通过给它正确的标题搜索路径来处理.这将是用户标题搜索路径= $(BUILT_PRODUCTS_DIR) - 取决于您设置位置首选项的方式.

请参阅:此链接