it-swarm.com.de

Wie kann man auf sichere Weise ein Framework oder eine Bibliothek für andere Entwickler erstellen?

Wir haben eine Idee für ein Framework oder eine Bibliothek, die für jeden iOS-Entwickler sehr hilfreich ist. Wir denken also ernsthaft darüber nach, von der App-Entwicklung zur Framework-/Bibliotheksentwicklung zu wechseln.

Aber wenn wir für die Bibliothek/das Framework eine Gebühr erheben möchten, müssen wir den Code irgendwie schützen. Wie können wir ein Framework so erstellen, dass der Benutzer unseres Frameworks den Quellcode nicht sehen kann, ähnlich wie wir den Quellcode von Apples Frameworks nicht sehen können? Sie versenden nur die Header-Dateien und einige seltsame Unix-Exe-Dateien mit dem kompilierten Framework, denke ich.

Oder wenn es nicht möglich ist, ein kompiliertes Framework/eine kompilierte Bibliothek für andere iOS-Entwickler zu erstellen, ohne unsere Quellcodes kopieren und einfügen zu können, gibt es dann eine Möglichkeit, den Objective-C-Code zu verschleiern?

106
Proud Member

Ja, es ist möglich, Frameworks zu erstellen, sodass der Benutzer des Frameworks den Quellcode nicht sehen kann.

Schauen Sie sich diese Artikel an (ich habe in der Vergangenheit die erste erfolgreich zum Erstellen von Frameworks verwendet - die späteren Artikel sind Aktualisierungen des Originals):

http://www.drobnik.com/touch/2010/04/making-your-own-iphone-frameworks/

http://www.drobnik.com/touch/2010/05/making-your-own-iphone-frameworks-in-xcode/

http://www.drobnik.com/touch/2010/10/embedding-binary-resources/

Um das Framework zu verwenden, ziehen Ihre Benutzer einfach das .framework-Bundle in Xcode. Sie können die Header-Dateien sehen, die Sie in das Bundle kopieren (siehe Artikel oben), jedoch nicht die Quelle (da diese nicht enthalten ist - nur die kompilierte Ausgabe befindet sich im Bundle).

Dies kann auch eine großartige Möglichkeit sein, Code zu verteilen, der für mehrere Projekte in Ihrem Unternehmen verwendet wird.


Aktualisieren:

Schauen Sie sich den unten hinzugefügten Link featherless an - er ist viel aktueller und alles auf einer Seite: http://github.com/jverkoey/iOS-Framework . Es beschreibt auch die Probleme mit mehreren anderen Ansätzen. Dies ist der Leitfaden, den ich jetzt befolge, wenn ich versuche, mir zu merken, was beim Einrichten eines neuen Frameworks zu tun ist. :)

Update2 (mit Xcode 6 Release)

Es gibt eine Option, nach der Sie genau suchen: Universal Framework for iOS!

Wird mein Code für andere sichtbar sein? A: Nein. Dieses Framework exportiert eine kompilierte Binärdatei, sodass jeder darin sehen kann. Sie können dasselbe für einige andere Dateien wie XIBs vornehmen.

Warum brauche ich das? A: Dies ist für Entwickler/Teams, die ihre Codes teilen möchten, ohne den gesamten Code anzuzeigen (.m/.c /. CPP-Dateien). Außerdem ist dies für diejenigen gedacht, die kompilierten Code + Ressourcen (Bilder, Videos, Sounds, XIBs, Plist usw.) an einem einzigen Ort organisieren möchten. Dies gilt auch für Teams, die über dieselbe Basis (Framework) zusammenarbeiten möchten.

(c) http://blog.db-in.com/universal-framework-for-ios/

113
Jay Peyer

Dieses Handbuch ist etwas neuer zum Erstellen von statischen iOS-Frameworks:

https://github.com/jverkoey/iOS-Framework

51
featherless

Es gibt auch eine Vorlage für XCode 4 , mit der Sie statische iOS-Framework-Projekte erstellen können.

9
Greg