【发布时间】:2016-11-19 14:06:43
【问题描述】:
我正在寻找一种在 Swift 中实现插件架构的方法。
用例
一个应用程序,fx。一个 CLI,有一个执行它的文件夹,可以放置插件并在应用程序启动时加载。
要求
- 能够定义一个协议或一组协议插件 必须或可以遵守。
- 纯斯威夫特。
- 自省给定插件实现了哪些协议。
- 在应用程序启动时动态加载。
- 与委托模式通信。
- 插件开发人员应该能够导入协议、实现它们、编译二进制文件并将其放置在插件文件夹中。
我的尝试
我使用Process 来启动一个可执行文件,我还可以在其中添加参数。
但这并不能满足我的要求。
我遇到了这个 post 的实现方法,但这需要使用 NSBundle 和 Objective-C,所以这也不好。
我真的不知道该怎么做。任何正确方向的帮助或指示将不胜感激。
【问题讨论】:
-
您打算在 Linux 上进行这项工作吗? App Store 呢?
-
@Kametrixom Linux 是一个目标。 App Store 不是必需的。
-
嗨。你能在 Swift 中实现这个插件架构吗?这就是我现在需要做的事情。你对我有什么建议吗?