在运行时加载的 NSBundle 中包含一个框架

Include a framework inside an NSBundle that is loaded at runtime

在 macOS 应用程序中,我在运行时将包加载为 "Plugins"。

如果其中一个插件需要一个框架(例如,让我们使用需要一些 CSV 解析框架的 CSV 导入器),我该如何设置?

显然我不想 link 反对我的主应用程序中的 CSV 解析框架,但主应用程序将是需要解析该框架符号的应用程序(加载 plugin/bundle意味着就所有意图和目的而言,插件代码是主应用程序的一部分)。

我确实为我加载的每个插件存储 URL,所以可能有一种方法告诉主应用程序在包中查找任何嵌入式框架?

我实际上会怎么做?

只要您link插件的框架,加载插件时就会加载额外的框架。

所以你需要做的就是:

[[[NSBundle alloc] initWithPath:@"..."] load]