2014-12-11 10 views
7

Ich habe mein Storyboard aus dem alten Projekt mit etwa 30 Szenen in Xcode 6 in den Modus Size Classes umgewandelt. Nachdem ich Constraints für mindestens eine Szene gesetzt habe, versuche ich das Kompilieren des Projekts und des Storyboards zu kompilieren wirklich lang. Ich trennte Storyboard zwei Storyboards nur bearbeitet ein neu zu kompilieren, aber sieht aus wie sie neu kompiliert werden beide jedes Mal (wieder, auch wenn nur einer von ihnen wurde bearbeitet): enter image description hereDie Storyboard-Kompilierzeit in Xcode reduzieren 6

Gibt es eine Möglichkeit Option zu setzen nur zu kompilieren bearbeitete Storyboard oder nur spitzes Storyboard? Auch vielleicht sind andere Optionen verfügbar, werden gerne Antworten einlesen!

+0

Ich habe nicht versucht, aber wäre es möglich, wenn Sie Verweis entfernen und fügen Sie es hinzu, wenn Sie es wollen, überspringen Sie die Zusammenstellung. – Vig

+0

Thangs, @Vig! Die Übersetzungszeit hat sich dramatisch verändert und auf den ersten Blick hat das Projekt gut funktioniert. Aber ich verstehe nicht, wie es während der Kompilierzeit keine zahlreichen Ausnahmen verursachte – Alex

+0

sagst du, dass du mehr Fehler oder Warnungen bekommst? – Vig

Antwort

6

Eine mögliche Lösung wäre, die Referenz des Storyboards zu entfernen und bei Bedarf hinzuzufügen. Dies sollte die Kompilierungszeit reduzieren, da es nicht Teil der Build-Phase ist.

Andere Option ist das Storyboard von „Copy Bundle Ressourcen“ in der Build-Phasen Registerkarte

+1

Danke nochmal! Kann dieser Prozess automatisiert werden? Ich meine, nur bearbeitete Storyboards neu zu kompilieren, ohne sie manuell zu deaktivieren. – Alex

+0

@Vig Benötigen Sie eine Storyboard-Datei für die endgültige Version? – Beto

2

für mich Trenn-Storyboards gelöst Kompilierung Problem gefunden zu entfernen. Ich habe mein Storyboard (das mehr als 40 ViewControllers enthält) Modul für Modul getrennt, also habe ich jetzt 8 Storyboards statt 1 und meine Kompilierzeit ist 10 mal schneller :)

Sie können Ihre Ansichten von separaten Storyboards wie diesem aufrufen Swift:

let sb = UIStoryboard(name: "MyOtherModuleStoryBoardFileName", bundle: nil) 
let targetVC = sb.instantiateViewControllerWithIdentifier("MyTargetVC") as! MyTargetViewController 
self.presentViewController(targetVC, animated: true, completion: nil) 

Hoffe, es hilft;)

+0

War das nicht der Zweck für Storyboards? ViewClickers gruppiert und leicht zu betrachten –

+1

@SilviuSt Ich dachte das auch, aber ich denke, mit dem Modul können Sie Teile aufteilen, die praktischer zu warten sind (folgendes Storyboard mit tausend Zeilen Code ist schwierig, speziell mit vielen Entwicklern) und wiederverwendbar (verschiedene Ziele oder Apps, SDK vielleicht). Zumindest können Sie nur das kompilieren, was Sie benötigen und in Ihrer App geändert haben. – Ben

0

Eine andere Lösung für dieses Problem ist die Storyboard-Datei von Finder-Attribute zu ändern, um es nur gelesen werden. Dann überspringt Xcode das Kompilieren der Storyboard-Datei, wenn es feststellt, dass Datum und Uhrzeit der Datei unverändert geblieben sind.