如何将独立Xcode项目作为模块导入另一个项目?

时间:2017-08-10 07:25:17

标签: ios workspace ios-frameworks ios-library

两个项目都使用相同的框架。两者都有appdelegates。在工作区中成功添加了两个项目。但无法访问彼此的控制器。制作一个项目的静态库没有帮助。制作一个项目的框架?哪条路?

1 个答案:

答案 0 :(得分:2)

因为你在谈论制作静态库,我认为你的项目是一个OC项目。所以,如果您要合并这两个应用程序,首先应该删除无法复制的内容,例如AppDelegate和其他一些应用程序设置。

您说您将两个项目放在一个工作区中,但是您无法从另一个工作区访问一个项目的视图控制器。那是因为你没有以正确的方式导入标题。

例如,每个项目都有自己的标题搜索路径,可以在xcodeproj-Build Settings->搜索标题搜索路径中设置。默认情况下,一个xcodeproj的头搜索路径的当前路径(“。”)位于xcodeproj所在的位置。 Xcode以递归方式搜索该文件夹中的所有标题。

如果您想从应用A访问应用B的标头。假设您的应用A的根文件夹中有一个视图控制器。要访问应用B的标题,您的导入可能如此:
#import "../app B/somekindofVC.h"
如果您只想导入“somekindofVC.h”,可以在Build Settings中添加“../app B”作为标题搜索路径,并在必要时选择“递归”选项。

这就是你的xcodeproj如何找到另一个标题。

还有一件重要的事情就是应该将应用B的共享代码添加到编译源中。由于您的应用程序A可以通过标头知道应用程序B的类,因此编译器不知道应用程序B的类的实现是什么。因此,在运行项目之前,请记住在Build Phases-> Compile Sources中添加“.m”文件。