2010-12-01 57 views
0

对于我正在做的项目,我希望Mac应用程序接受插件。我喜欢将Bundles添加到应用程序以扩展其功能的整个想法。插件架构,访问应用程序中的代码?

只有我遇到了一个小问题,在这里我无法找到答案:

我需要在我的应用程序中的JSON解析器,对一些功能。插件Bundle是否可以使用同一个解析器?还是每个使用JSON解析器的插件都需要自己包含解析器?

对于单独的Bundle,最好的方法是什么?

回答

2

在OS X上,有两种类型的可加载的东西,一个dylib插件。 (这两个术语在Mach-O的上下文专门的技术含义,二进制格式OS X使用。)

甲加载dylib不能参考库中可执行,而装载插件能够。作为副作用,可以将dllib加载到任何可执行文件,但插件只能在制作插件时加载到您指定的可执行文件中。

所以你想制作一个插件。 XCode中有一个模板可以做到这一点。不要忘记在链接器标志中指定目标可执行文件,它可以在检查器中的某处设置。

欲了解更多,请阅读Code Loading Programming Topics

+0

要在插件和应用程序之间共享代码,最简单的方法是创建一个包含共享代码和所有必需标题的框架,然后将应用程序链接到该框架,并将插件链接到它。您可以将该框架嵌入到应用程序中,并告知插件开发人员在开发时从应用程序包中获取它。 – d11wtq 2010-12-01 13:19:20