两个项目都使用相同的框架。两者都有 appdelegate。在工作区中成功添加了两个项目。但不能访问彼此的控制器。制作一个项目的静态库并没有帮助。制作一个项目的框架??走哪条路?
1 回答
因为你说的是制作静态库,所以我认为你的项目是一个 OC 项目。那么问题来了,如果你要合并这两个应用,你应该先把不能复制的内容拿出来,比如AppDelegate和其他一些应用设置。
您说您将两个项目放入一个工作区,但您无法从另一个项目访问一个项目的视图控制器。那是因为您没有以正确的方式导入标题。
比如每个项目都有自己的header搜索路径,可以在你的xcodeproj-Build Settings->search header search path中设置。默认情况下,一个 xcodeproj 的标头搜索路径的当前路径(“.”)位于您的 xcodeproj 放置的位置。Xcode 会递归地搜索该文件夹中的所有标题。
如果您想从应用程序 A 访问应用程序 B 的标头。假设您在应用程序 A 的根文件夹中有一个视图控制器。要访问应用程序 B 的标头,您的导入可能看起来像这样:
#import "../app B/somekindofVC.h"
如果您只想导入“somekindofVC.h”,您可以在构建设置中添加“../app B”作为标头搜索路径,然后选择“递归”必要时选择。
这就是您的 xcodeproj 如何找到另一个标题的方式。
还有一件更重要的事情是你应该将app B的共享代码添加到编译源中。由于您的应用程序 A 可以通过标头知道应用程序 B 的类,因此编译器不知道应用程序 B 的类的实现是什么。所以在你运行你的项目之前,记得在 Build Phases->Compile Sources 中添加你需要的 '.m' 文件。