Swift Projekt ist größer als ich erwartet habe

8

Mein Projekt hat 4 Frameworks und 31 (31 Sprachen) benutzerdefinierte Tastaturerweiterungen. Wenn ich es kompiliere, dauert es 98 MB internen Gerätespeicher.

Also habe ich beschlossen, warum so viel zu sehen. Ich habe mein Projekt im Geräteordner gefunden.

Ordner Plugins dauert 38 mb, und Ordner Frameworks dauert 42 mb.

Im Frameworks-Ordner sind 4 meine Frameworks und 8 Swifts Frameworks, die Sie im Bild oben sehen können

Jedes Framework enthält die gleichen 8 Swift-Frameworks. Kann ich diese Swift-Frameworks irgendwie nur einmal hinzufügen?

Es ist nicht alles. Im Plugins-Ordner sind meine benutzerdefinierten Tastaturerweiterungsordner. Ich habe 200 Bilder in einem meiner Module (Rahmen) hinzugefügt, und referenziert das in jeder Erweiterung (weil sie diese Bilder für den Aufbau der Tastatur benötigen). Aber im Projektordner hat jeder Erweiterungsordner diese Bilder. Es braucht viel Speicher.

Also ... Kann ich irgendwie Bilder nur einmal hinzufügen (nicht für jede benutzerdefinierte Tastaturerweiterung)? Und kann ich Swift-Frameworks nur einmal hinzufügen (nicht für jedes Framework und Projekt)?

Bearbeiten:

Ich unterzeichne, dass jede benutzerdefinierte Tastaturerweiterung wie ein separates Programm ist. Also müssen sie wirklich diese Bilder in jede Erweiterung kopieren.

    
Vasyl Khmil 19.08.2014, 11:30
quelle

2 Antworten

0

Jetzt ist es nicht nötig, eine Erweiterung pro Sprache zu haben, also ist es jetzt keine große Sache. Sie sollten 1 Erweiterung für alle Sprachen oder mindestens für eine Gruppe von Sprachen verwenden.

    
Vasyl Khmil 23.09.2016, 12:58
quelle
3

Es scheint, dass dies auf die Maßnahmen zurückzuführen ist, die getroffen wurden, um Kompatibilitätsgarantien zu erreichen.

  

... Xcode bettet eine kleine Swift-Laufzeitbibliothek in das Paket Ihrer App ein. Da die Bibliothek eingebettet ist, verwendet Ihre App eine konsistente Version von Swift, die auf früheren, aktuellen und zukünftigen OS-Versionen ausgeführt wird.

Es ist interessant, dass Sie es in jedem Ihrer Frameworks sehen. Diese Aussage scheint darauf hinzudeuten, dass das Framework die Laufzeitbibliotheken nicht enthält.

  

Während die Laufzeitkompatibilität Ihrer App gewährleistet ist, wird sich die Swift-Sprache selbst weiterentwickeln und die Binärschnittstelle wird sich ebenfalls ändern. Um sicherzugehen, sollten alle Komponenten Ihrer App mit derselben Version von Xcode und dem Swift-Compiler erstellt werden, um sicherzustellen, dass sie zusammen funktionieren.

Quelle: Blog Swift - Kompatibilität

Ich bin mir nicht sicher, dass Sie die Kontrolle darüber haben. Eine gute Wette wäre, die Devforums zu treffen, um zu sehen, ob die Swift-Schöpfer mehr Licht abwerfen können.

    
Chris Wagner 23.08.2014 04:45
quelle

Tags und Links