Ios4 如何使隐式依赖关系与Xcode 4中的工作空间一起工作?
我想使用Xcode 4和Cocoa Touch静态库项目管理工作区中的项目,这些项目包含我可以从其他项目中引用的共享代码。根据WWDC 2010视频和Xcode 4文档,Xcode 4中的工作空间具有“隐式依赖”功能。我一直在努力使它发挥作用,但我没有取得多大成功 示例工作区: 您可以看到非常基本的示例项目有两个静态库项目,我将其命名为Library1和Library2。然后,我在每个项目中都有一个单独的类,我从iPhone项目中引用了这个类,名为PrimaryApp。我在添加import语句时获得了代码感知的支持,但构建失败 您可以看到构建是如何失败的,因为它找不到依赖项 为了解决这些问题,我添加了手动链接Library1和Library2项目 我还必须将这些项目的路径添加为标题搜索路径 现在,当我构建这两个依赖库,然后在iPhone模拟器中运行PrimaryApp时,它成功构建并运行。我发现,它并不总是确保在必要时构建依赖项项目,这显然是一个手动过程。这不是我所认为的“隐式依赖”,因为XCODE视频和文档暗示它应该工作。我一直在寻找更具体的例子,但到目前为止,我没有运气。即使在Stackoverflow,我也没有看到令人满意的答案Ios4 如何使隐式依赖关系与Xcode 4中的工作空间一起工作?,ios4,xcode4,Ios4,Xcode4,我想使用Xcode 4和Cocoa Touch静态库项目管理工作区中的项目,这些项目包含我可以从其他项目中引用的共享代码。根据WWDC 2010视频和Xcode 4文档,Xcode 4中的工作空间具有“隐式依赖”功能。我一直在努力使它发挥作用,但我没有取得多大成功 示例工作区: 您可以看到非常基本的示例项目有两个静态库项目,我将其命名为Library1和Library2。然后,我在每个项目中都有一个单独的类,我从iPhone项目中引用了这个类,名为PrimaryApp。我在添加import语句时
- “隐式依赖”在Xcode 4和工作区中应该如何工作李>
- 为什么不能在PrimaryApp中自动找到Libary1和Library2中的代码
- 使依赖项在工作区中工作是否需要其他更改
我认为“隐式依赖项”应该可以工作,而不需要经过步骤6,甚至步骤5,但对于很多人来说,这可能有点太自动了。另一种选择是只将每个“子项目”的根作为递归头路径。例如,如果您有AcmeLib,您可以转到主项目的构建选项,并将AcmeLib的路径添加到用户标题搜索路径中,同时启用递归选项。然后将自动搜索AcmeLib的头文件 要保持开发人员之间的路径独立性,可以使路径相对于源目录变量,例如$ACME_LIB,每个开发人员都可以在XCode首选项“源”窗格中设置该变量
因此,要在新项目中使用AcmeLib,只需在项目中拖动,将$ACME_LIB添加到标题搜索路径,就可以开始了。XCode的隐式链接应该将依赖项连接起来。这里是一个完整的说明。这似乎确实是XCode在构建过程中处理隐式依赖项的一个缺陷 在一个有两个项目的工作区中,我能够让项目a在项目B中查看类,并通过将项目B的类的.h头文件复制到项目a的目录中成功构建注意:我没有将它们添加到Xcode中的项目A中我只是将它们放在Finder中项目A的目录中 这是
"${BUILT_PRODUCTS_DIR}"