2010-12-01 54 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