gpt4 book ai didi

objective-c - 在 Cocoa 应用程序中动态加载自定义插件(库)

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:14 25 4
gpt4 key购买 nike

我已经为 Mac OS X 开发了一个 Cocoa 应用程序。我想制作一些自定义插件(也有界面)并在我的应用程序中动态加载它们。我的应用程序应该查看一个文件夹并检索所有文件(插件)并使它们在用户界面中可用。

有人可以建议我一个起点吗?

如何动态加载它们,插件必须是动态库还是什么?

谢谢。

最佳答案

你想看看NSBundle .可加载包(框架是可加载包)项目将生成您想要的内容。如果将包的 principleClass 属性设置为插件的顶级类,则可以从加载的包中检索该类的实例。您可以使用

在给定路径加载包
id bundle = [NSBundle bundleWithPath:pathToBundle];
NSError *err;
if(![bundle loadAndReturnError:&err]) {
// err contains error info
} else {
// bundle loaded properly
Class pluginClass = [bundle principleClass];
// instantiate pluginClass and off you go...
}

关于objective-c - 在 Cocoa 应用程序中动态加载自定义插件(库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5461145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com