【问题标题】:Xcode: How to have shared code (i.e. framework) between main project and plugin bundleXcode:如何在主项目和插件包之间共享代码(即框架)
【发布时间】:2014-08-01 20:04:30
【问题描述】:
在我的项目中,我有两个目标,1) 加载的主应用程序 2) 插件包。我已经开始拥有需要在两个目标中都可用的对象,因此天真地尝试在每个目标中分别编译它们(产生有关具有不同实现的警告:X 类在 Y 和 Z 中都实现。将使用两者之一. 哪一个是未定义的。)
为了解决这个问题,我决定创建一个框架,所以我添加了一个框架,但我不知道如何制作它,以便 a) 主应用程序和包都访问框架(通过编译的框架,而不是只是通过项目中的标题),因此在我运行项目时编译了框架。
如果你知道怎么做,谢谢!
【问题讨论】:
标签:
objective-c
xcode
macos
cocoa
【解决方案1】:
这是我遵循的步骤:
- 在项目中新建一个框架,将所有共享代码复制过来。
在框架的主标头中,包含所有共享代码的标头。
- 构建框架以测试其构建(例如选择框架的方案并点击播放)
- 转到应用程序和插件包的构建阶段,并将框架添加到“目标依赖项”和“将二进制文件与库链接”
- 要在应用程序和捆绑包的代码中包含框架内容,只需使用主标头,并使用 而不是“”,例如,如果您的框架名为 Foo,请使用 #import
在部署方面,可能需要对框架的安装位置进行一些摆弄,目前它与应用程序本身放在一起,而不是在内部,但我可能会在稍后解决这个问题:)