Ich bin auf der Suche nach einer Möglichkeit zur Implementierung in Plug-in-Architektur in Swift.Swift Plug-in-Architektur
Use Case
Eine Anwendung, fx. eine CLI, hat einen Ordner, von wo es ausgeführt wird, wo Plugins platziert werden können und wird geladen, wenn die Anwendung startet.
Anforderungen
- Die Möglichkeit, ein Protokoll oder eine Reihe von Protokollen zu definieren, die muss Plug-In oder halten.
- Pure Swift.
- Introspect welche Protokolle ein bestimmtes Plug-in implementiert.
- Wird dynamisch geladen, wenn die Anwendung gestartet wird.
- Kommunizieren Sie mit dem Delegatenmuster.
- Plug-in-Entwickler sollten in der Lage sein, Protokolle zu importieren, zu implementieren, zu kompilieren und die Binärdatei in den Plug-In-Ordner zu platzieren.
Was ich versucht habe
Ich habe Process
verwendet, um eine ausführbare Datei zu starten, wo ich auch Argumente hinzufügen. Aber das erfüllt meine Anforderungen nicht.
Ich kam in dieser post, wie es getan werden könnte, aber das erfordert die Verwendung von NSBundle
und Objective-C, so dass entweder nicht gut ist.
Ich bin nicht wirklich sicher, wie das geht. Jede Hilfe oder Hinweise in die richtige Richtung würden sehr geschätzt werden.
Planen Sie, dass dies unter Linux funktioniert? Was ist mit dem App Store? – Kametrixom
@Kametrixom Linux ist ein Ziel. App Store ist keine Voraussetzung. –
Hallo. Können Sie diese Plug-in-Architektur in Swift erreichen? Daran muss ich gerade arbeiten. Irgendwelche Vorschläge hast du für mich? – Subi