Frage

Ich arbeite an einem iOS -Framework, das auf der folgenden Vorlage basiert: https://github.com/jverkoey/ios-framework

Jetzt muss ich ein wenig polieren und das Versioning -System mit der entsprechenden Build-/Marketingnummer einrichten.

Dieses Framework -Projekt enthält 3 Ziele, die 1., die eine statische Bibliothek generiert, eine 2., die ein Ressourcenpaket und ein drittes Ziel generiert, das ein aggregiertes Ziel für die statische Bibliothek und das Ressourcenpaket ist. Mein erstes Problem ist es also, festzustellen, welches Ziel ich die Versioning -Build -Einstellungen konfigurieren sollte (oder ob ich alle Ziele konfigurieren sollte).

Meine zweite Frage ist, welche Einstellungen ich konfigurieren sollte und was sie bedeuten:

Aktuelle Projektversion => Ist es die Build -Version oder die Marketingversion? Also, wenn ich Apps mit Versionen wie: 1.2.3.4 veröffentliche, sollte ich 4 festlegen? oder 1.2.3? oder 1.2.3.4?

Generiertes Versioning -Quell -Dateiname => Der Name der generierten .c -Datei, die die Ganzzahl -Build -Nummer enthält, denke ich?

Generierte Versionungsvariablen => Was ist das?

Prefix => ein Präfix für den Namen der Variablen, die die Build -Nummer enthält

Versionsname Suffix => Ein Suffix für den Namen der Variablen, der die Build -Nummer enthält

Versionssystem: Jeder benutzt Apple Generic, also denke ich, dass es das einzige verfügbar ist

Versioning -Benutzername: Was ist das?

Es gibt andere Einstellungen wie die "Framework -Version" im Abschnitt "Verpackung", die immer "A" verwenden sollten, denke ich auf iOS (da sie tatsächlich statische Frameworks sind, spielt die Version keine Rolle)? Und für die Einstellungen "Kompatibilitätsversion" / "Aktuelle Bibliotheksversion" des Abschnitts "Verknüpfung" sollte ich sie nur auf dem Ziel der statischen Bibliothek konfigurieren? Oder werden sie von der Anwendung verwendet, die die Bibliothek verbindet?

War es hilfreich?

Lösung

Es sei denn, Sie bauen einen kommerziellen, geschlossenen Rahmen, Ich würde wirklich empfehlen, die Verwendung zu verwenden Cocoapods. Es wird sich um Abhängigkeiten, Ressourcen, Versionen, Update, Installation usw. kümmern. Alle großen Kopfschmerzen, wenn sich Ihre Bibliothek im Laufe der Zeit ändert.

Selbst wenn Sie nur Binärdateien für den Closed-Source-Code verteilen möchten, können Sie die Binärdateien mit Cocoapods erstellen und dann mit einem anderen Podspec verteilen. Sie vermeiden es auch, andere Bibliothekencode einzubetten, was eine wirklich schlechte, aber gängige Praxis ist.

Wie für die Versionierung können Sie überprüfen hier.


Zurück zur statischen Bibliothek machen ...

Die Version ist nicht aus der App aus sichtbar und wäre nur eine Dokumentation. Ich denke, Sie sollten sie allen Ihren Zielen hinzufügen. Wenn Sie wirklich in der Lage sein möchten, die Version Ihrer Bibliothek zur Laufzeit zu erkennen, müssen Sie eine Klassenmethode oder globale Variable erstellen [MyLibrary version].

Die Dokumentation für diese Schlüssel ist in Xcode enthalten oder Sie können einfach eine auswählen und das Bereich "Schnellhilfe" überprüfen:

enter image description here

Andere Tipps

Apple verfügt über eine ziemlich umfangreiche Dokumentation zum Aufbau und Vertrieb von Frameworks.

Das Framework -Programmierhandbuch deckt den größten Teil des Bodens ab, den Sie brauchen. Wenn Sie spezifischere Informationen darüber möchten, wie die Entwickler -Tools die Informationen in Ihrem Projekt verwenden, sehen Sie sich die manuelle Seite an agvtool, Das Tool, das Xcode mit dem Apple Versioning -System verwendet.

Sie sollten auch an der interessiert sein Codierungsrichtlinien für Kakao, was auch einige Best Practices für Frameworks abdeckt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top