我应该如何在Xcode工作区中跨项目管理依赖项?
我正在开发一个iOS应用程序项目,并将json-framework项目添加到工作区。左侧的项目导航器显示两个项目,构建方案选择器也显示两个项目的方案。现在我想从json-framework项目中添加libjson.a目标作为对其他项目中iOS应用程序目标的依赖。预期的结果是,无论何时构建应用程序目标,它都会构建(如果需要)库目标并将应用程序目标链接到它。以下是我尝试这样做的方法:
构建两者作为同一方案的一部分。我尝试这种方式的方法是编辑我的应用程序的方案,将“libjson.a”添加到方案的“Build”部分,并选择“Find Implicit Dependencies”方式。然后我转到我的app目标的目标编辑器,在“Build Phases” - >“Link Binary With Libraries”中,我从工作区库列表中选择“libjson.a”。
当我随后尝试构建该方案时,我看到它构建了库目标,但构建应用程序目标失败,链接器错误“找不到-ljson的库” - 表明它实际上没有发现库已经构建。实际上,在项目导航器中,库的应用程序项目下的条目仍为红色,表示该文件不存在。
将json目标添加为显式依赖项。要尝试此操作,我不会修改构建方案,而是转到我的应用目标的目标编辑器,然后单击“目标依赖项”下的“添加”按钮。工作区中没有其他项目的目标显示,因此这不是一个非首发。
将JSON项目拖到另一个项目中,然后将目标添加为依赖项。这就是我在Xcode 3中所做的。在项目导航器中,我抓住了库项目并将其拖到app项目上。这会显示通常的“添加文件”窗格,我只需单击“完成”即可关闭该窗格。
项目导航器中的库项目现在有两个条目:一个位于顶层,另一个位于应用程序项目下。我现在可以使用目标编辑器将库目标添加为应用程序目标的依赖项,并且可以在链接库阶段中无错误地链接它。但它看起来很糟糕:导航器中的同一项目有多个条目。有没有不同的方法来做到这一点?
什么应该被认为是在同一工作区中的不同项目中连接这些目标的“Xcode 4-ish”方式?如果同一工作空间中的多个项目实际上不能彼此交互,那么似乎缺乏。
谢谢,
格雷厄姆。
没有找到相关结果
已邀请:
6 个回复
购藏盗码韦
郡晒景沧
黎喊病
良阑纠苫
僻朵庙惩竣
翁茄口霉氖