2016-04-10 8 views
1

Ich habe eine Menge von Klassen, die ich mit anderen teilen möchte, also dachte ich über das Erstellen einer statischen Bibliothek nach, aber ich möchte meinen Code nicht verstecken. Ich möchte ihnen erlauben, Veränderungen in der Bibliothek vorzunehmen, wenn sie es wollen.iOS: Kann ich eine statische Bibliothek mit allen Klassen (.h & .m) als öffentlich erstellen?

Ich kann einen Ordner von Dateien teilen, aber ich möchte alle Dateien in einem einzigen Paket zusammenführen, so dass es einfach zu verwalten und zu warten ist.

Die statische Bibliothek zeigt Benutzern im Allgemeinen nur Headerdateien (.h) an, aber ist es auch möglich, Implementierungsdateien (.m) sichtbar zu machen?

Ich habe eine weitere statische Bibliothek, die eine Abhängigkeit für diese ist. Kann ich eine statische Bibliothek in eine andere legen? oder muss ich beide Dateien in meinem Projekt hinzufügen?

Ich habe diese Bibliothek Sachen nicht gemacht, also gehe ich in eine richtige Richtung? Oder gibt es einen geeigneteren Weg in iOS, der meine Anforderung erfüllen kann?

Danke!

Antwort

1

Senden Sie den Code als Framework, und anstatt einen Ordner zu teilen, können Sie die Bibliothek in ein reguläres Projekt auf GitHub oder anderswo verwandeln. Fügen Sie hinzu, was benötigt wird, um die Bibliothek über CocoaPods oder Carthage zu installieren. Machen Sie korrekte Releases mit semantic versioning, schreiben Sie ein richtiges Changelog.

Es ist eine Menge Zeug zum ersten Mal, aber es ist eine gute Übung, die sich auszahlt. Ein Beispiel für eine solche Bibliothek finden Sie in meiner simple goo.gl client.

+0

Vielen Dank! Ich habe erfolgreich mein eigenes Cocoapod-Projekt erstellt, sehr hilfreich. Ich habe noch eine Frage, Shipping Code als Framework, Gibt es eine Möglichkeit, Implementierungsdateien (.m) für alle Benutzer sichtbar zu machen oder ich muss nur mit (.h) gehen? ist das eine gute Idee, .m-Dateien öffentlich zu machen? Wird es irgendwelche Kompilierungswarnungen oder Fehler geben? –

+0

Gute Arbeit! Es gibt zwei Möglichkeiten: eine statische Bibliothek mit Kopfzeilen zu verteilen und das Ganze zu verteilen. Normalerweise entscheide ich mich für Letzteres und verteile die kompletten Quellen. Auf diese Weise können andere Ihren Code optimal nutzen. – zoul

+0

Okay, ich werde mit der zweiten Option gehen. Danke für die Beratung. Ich habe meine Antwort :) –

Verwandte Themen