2017-06-01 2 views
0

In Objective C haben wir beide .h und .m-Dateien. Diese .h-Headerdateideklarationen definieren die öffentliche Schnittstelle der Klasse und die .m-Datei deklariert einige Eigenschaften und Methoden, die intern von der Klasse verwendet werden, sodass jede App, die diese Bibliothek verwendet, keinen Zugriff darauf hat.So erstellen Sie Frameworks in swift, ohne dass Benutzer meinen Code sehen können?

Aber in swift ist mein Code für die Öffentlichkeit sichtbar. So, wie man Frameworks in swift erstellt, ohne dass Benutzer meinen Code sehen können?

+4

Mögliches Duplikat [Wie Swift-Bibliothek zu verteilen, ohne auszusetzen der Quellcode?] (https://stackoverflow.com/questions/25020783/how-to-distribute-swift-library-without-exposing-the-source-code) – Ssswift

+0

Wenn Sie ein Framework verteilen, verteilen Sie die Implementierung Einzelheiten. Ein Entwickler kann das Framework zerlegen und/oder einen Class-Dump verwenden, um alle Details einschließlich der Implementierung zu sehen. Nicht so praktisch wie eine Quelle, aber kein Hindernis für einen sachkundigen Entwickler. – bbum

+0

Mögliches Duplikat von [Swift: Wie kann ich eine externe Schnittstelle für eine statische Bibliothek erstellen (öffentliche Header analog in Objective-C .h)] (https://stackoverflow.com/questions/24070722/swift-how-can-i-create -external-interface-for-static-library-public-headers-an) – Willeke

Antwort

0

Mit Xcode 8.3, swift 3, kann ich ein Swift-Framework verteilen, ohne meinen Swift-Quellcode offen zu legen.

Mein Rahmenprojekt: My framework:

Mein Anwendungsprojekt: Application project

Es gibt keine .swift ist Quellcode in dem verteilten Rahmen: enter image description here

+0

Danke für die Antwort Hoa, aber ich suche eigentlich nach einer anderen Lösung. Ich möchte Methodendeklarationen für Benutzer verfügbar machen, da sie durch das Anzeigen von Methodennamen und Kommentaren, die darüber geschrieben sind, etwas darüber verstehen können, was genau diese Methode macht. Im obigen Beispiel, da Sie ein Framework erstellt haben, wissen Sie, dass es eine "foo" -Methode gibt und welche Parameter Sie übergeben müssen, aber es wird für neue Benutzer schwierig sein. Wie auch immer, danke für deine schnelle Antwort. – SivaCherukuri

Verwandte Themen