我想开发一个依赖插件(这里:可加载的bundle)来运行的程序。要求多个插件使用相同的AFNetworking
资源来发出网络请求。但是,我不知道在哪里放置AFNetworking
和CustomPluginProtocol
标题。
以下是我的程序结构现在的样子:
MyApp.xcodeproj
- AFNetworking
- Header.h
- Plugins
- Plugin1.xcodeproj
- PrincipalClass.m
- Plugin2.xcodeproj
- PrincipalClass.m
- Classes
- CustomPluginProtocol.h
- MainClass.m
当然,principalClass
中的每个PluginN
都符合CustomPluginProtocol
。
AFNetworking
标题吗?如果是这样(这就是我现在所做的),我没有任何完成。我怎么能得到它?好的,也许我的问题不清楚。
我希望我的插件能够使用主应用程序中的来源,比如说CommonClass.m
和CommonClass.h
。插件中的插件是否需要CommonClass.h
,如果没有,当我在插件范围内时如何启用完成?
答案 0 :(得分:0)
您有两个选择:
1)制作一个框架,其中包含<Your Framework>/Headers/
2)只需向开发人员提供标题
即可我更喜欢选项1,因为它更容易理解和跟踪所有内容,但像Photoshop这样的应用程序一直使用选项2,因此它非常可行。使用选项1,开发人员可以将您为Xcode项目制作的框架添加到#include <FrameworkName/HeaderName.h>
。使用选项2,您可以为它们提供一个标题文件夹,它们会将它放在方便的位置,然后将其添加到标题搜索路径#include "FolderName/HeaderName.h"
。