Ich verteile Bibliotheken für andere Entwickler ( Ссылка ). Ich habe bemerkt, dass zwischen schnellen Versionen, sogar 2.0 bis 2.1, ich Module file was created by a (newer/older) version of the compiler.
Ich muss auf eine zukunftssichere Weise verteilt werden.
Wie kann ich sicherstellen, dass meine kompilierten Frameworks zukünftig von neueren Versionen von Swift verwendet werden können, damit ich nicht neu kompilieren muss, sobald Apple eine neue Betaversion veröffentlicht?
Von Apples Website :
Binärkompatibilität und Frameworks
Während die Laufzeitkompatibilität Ihrer App gewährleistet ist, wird die Swift-Sprache verwendet selbst wird sich weiter entwickeln, und die binäre Schnittstelle wird auch Veränderung. Um sicher zu sein, sollten alle Komponenten Ihrer App mit erstellt werden die gleiche Version von Xcode und der Swift-Compiler, um sicherzustellen, dass sie zusammenarbeiten.
Dies bedeutet, dass Frameworks sorgfältig verwaltet werden müssen. Zum Beispiel, Wenn Ihr Projekt Frameworks verwendet, um Code mit einem eingebetteten Code zu teilen Erweiterung möchten Sie die Frameworks, App und Erweiterungen erstellen zusammen. Es wäre gefährlich, sich auf binäre Frameworks zu verlassen Nutzen Sie Swift - besonders von Dritten. Wie sich Swift ändert, diese Frameworks sind mit dem Rest Ihrer App nicht kompatibel. Wenn das Binärschnittstelle stabilisiert sich in ein oder zwei Jahren, die Swift-Laufzeit wird Teil des Host-Betriebssystems werden und diese Einschränkung wird nicht mehr existieren.
Bis sich die Swift ABI (Application Binary Interface) stabilisiert (ich vermute noch ein oder zwei Jahre), ist die Verteilung des Quellcodes die einzige Möglichkeit, Bibliotheken zu verteilen, die über verschiedene Xcode-Versionen hinweg funktionieren. Kakaoschoten und Karthago sind beide gute Werkzeuge, um die Bibliotheksverteilung zu vereinfachen, aber für Swift-Code werden sie immer noch darauf angewiesen sein, dass der Quellcode verfügbar ist.
Es kann möglich sein, einen Cocoapod zu haben, der die Version von Xcode erkennt, mit der er ausgeführt wird und dann herunterlädt und den korrekten Build Ihrer Bibliothek bereitstellt. Sie müssen jedoch die Bibliotheken für alle Xcode-Versionen erstellen, die Sie unterstützen möchten und kompilieren jedes Mal neu, wenn Apple einen neuen Xcode veröffentlicht, aber der Benutzer muss nicht eine neue Version manuell herunterladen.
Tags und Links ios xcode frameworks swift sdk