XCode中子项目的标头搜索路径

eri*_*icn 4 xcode objective-c header-files ios

我在项目中添加了一个子项目(库).

为了能够导入子项目的头文件,我将子项目目录的绝对路径(递归)添加到我的主项目的"标题搜索路径".是否有配置XCode自动/动态识别我的子项目目录的路径?

我觉得我现在正在做的事情非常人工,容易出现人为错误.此外,如果我移动了我的子项目,我将无法再导入其头文件.

请注意,我不希望将子项目目录放在与主项目相同的目录中,因为它将被重用于许多不同的项目.

我之所以期待XCode的这个功能是因为:

  1. XCode允许我将我的库项目拖放到主项目中,这是一种包含库的直观且动态的方式.因此,它不应该要求我手动输入主项目的构建设置的路径.
  2. 当我们将文件和目录拖放到XCode项目中时,它似乎可以顺利处理XCode的引用和文件系统路径.我不明白子项目的头搜索路径的逻辑有何不同?

Dro*_*ppy 6

您可以使用相对目录而不是绝对目录$(PROJECT_DIR),这是Xcode的许多变量之一.

假设子项目位于app项目(我自己使用的系统)的兄弟目录中,则将Header Search Path设置为(类似):

$(PROJECT_DIR)/../libproject/include
Run Code Online (Sandbox Code Playgroud)

这将允许项目存在于文件系统中的任何位置,前提是项目目录保持彼此相同的相对路径.