在运行时加载的 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]
在 macOS 应用程序中,我在运行时将包加载为 "Plugins"。
如果其中一个插件需要一个框架(例如,让我们使用需要一些 CSV 解析框架的 CSV 导入器),我该如何设置?
显然我不想 link 反对我的主应用程序中的 CSV 解析框架,但主应用程序将是需要解析该框架符号的应用程序(加载 plugin/bundle意味着就所有意图和目的而言,插件代码是主应用程序的一部分)。
我确实为我加载的每个插件存储 URL,所以可能有一种方法告诉主应用程序在包中查找任何嵌入式框架?
我实际上会怎么做?
只要您link插件的框架,加载插件时就会加载额外的框架。
所以你需要做的就是:
[[[NSBundle alloc] initWithPath:@"..."] load]