2014-12-11 23 views
7

Ho convertito il mio storyboard dal vecchio progetto con circa 30 scene in modalità Dimensioni abilitate in Xcode 6. Dopo aver impostato i vincoli per almeno una scena che sto tentando di compilare, Project e Storyboard compile time è reaaly long. Ho separato storyboard per due storyboard per ricompilare un solo cura, ma sembra che siano ricompilati sia ogni volta (ancora una volta, anche se solo uno di loro è stato editato): enter image description hereDiminuzione dello storyboard di compilazione in Xcode 6

C'è un modo per impostare l'opzione per compilare solo ha modificato Storyboard o solo Storyboard puntato? Anche forse sono disponibili altre opzioni, saranno felici di leggere le risposte!

+0

Non ho provato, ma sarebbe possibile se si rimuove il riferimento e aggiungerlo quando lo si desidera, saltare la compilazione. – Vig

+0

Thangs, @Vig! Il tempo di compilazione è cambiato drasticamente e, a prima vista, il progetto ha funzionato bene. Ma non capisco come non abbia causato numerose eccezioni durante la compilazione – Alex

+0

stai dicendo che stai ricevendo più errori o avvisi? – Vig

risposta

6

La soluzione possibile sarebbe rimuovere il riferimento dello storyboard e aggiungerlo quando richiesto. Questo dovrebbe ridurre il tempo di compilazione in quanto non fa parte della fase di costruzione.

Altra opzione è quella di rimuovere lo storyboard da "Copia Bundle Risorse" trovate nella scheda fasi di creazione

+1

Grazie ancora! Questo processo può essere automatizzato? Intendo ricompilare solo gli storyboard modificati senza controllarli, deselezionandoli manualmente? – Alex

+0

@Vig Avete bisogno di aggiungere un file storyboard per la versione finale? – Beto

2

Seperating story board risolto problema di tempo di compilazione per me. Ho separato il mio storyboard (che contiene più di 40 ViewControllers) modulo per modulo quindi ora ho 8 storyboard invece di 1 e il mio tempo di compilazione è 10 volte più veloce :)

Puoi chiamare le tue visualizzazioni da storyboard separati come questo in Swift:

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

speriamo vi sia utile;)

+0

Non era questo lo scopo degli storyboard? tenere i viewcontrollers raggruppati e visualizzarli facilmente –

+1

@SilviuSt Ho pensato anche io ma penso che usando il modulo puoi dividere in parti che possono essere più maneggevoli da mantenere (seguire lo storyboard con migliaia di righe di codice è difficile, specialmente con molti sviluppatori) e riutilizzabile (diversi obiettivi o app, forse SDK). Almeno, sarai in grado di compilare solo ciò di cui hai bisogno e è cambiato nella tua app. – Ben

0

Un'altra soluzione a questo problema è quello di modificare il file storyboard attributi dal finder per renderlo di sola lettura. Quindi Xcode salta la compilazione del file storyboard quando rileva che la data e l'ora del file sono rimaste invariate.

Problemi correlati