2012-02-02 1 views
10

Quando apporto le modifiche a MainStoryboard.storyboard nessuna di queste modifiche è disponibile sul mio dispositivo iOS anche se è stata creata. Ho provato a cancellare tutti i dati per l'applicazione dal dispositivo e riavviare tutto, ma ora quando costruire ed eseguire il codice su iPhone ottengo il seguente errore:XCode 4.2 MainStoryBoard non trovato

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard' in bundle NSBundle </var/mobile/Applications/BE0CBEE9-1E95-443A-97CF-53CCD66A2D0C/WalkBack.app> (loaded)' 

Da quello che posso dire, il mio file plist ha la informazioni appropriate per il nome dello storyboard.

Qualche idea cosa non va, o come posso risolverlo? Proprio quando si è verificato questo problema, il file .xcodeproj ha iniziato l'apertura in XCode 3. Questo ha rovinato alcune impostazioni? Sono terribilmente perso.

+0

Forse il file dello storyboard principale manca del pacchetto. Dai un'occhiata a Target (riquadro a sinistra, clikc nella parte superiore della maggior parte delle icone della tua app, quindi seleziona Target dal riquadro di destra)> Building Phases> Copy Bundle Resources. Il tuo storyboard principale dovrebbe essere elencato lì. Se non è lì, aggiunto facendo clic sul pulsante (+). – Canopus

+0

Accedi al riepilogo del tuo progetto e assicurati che lo storyboard sia impostato sul nome del file dello storyboard. – tarheel

+0

Ho effettivamente controllato entrambe queste cose e sono entrambe come dovrebbero essere. Altre idee? –

risposta

33

Ho visto accadere una manciata di volte con i file con i miei studenti e oggi anche a me è successo. Quello che sembra aggiustarlo per me:

  1. Fare clic con il tasto destro del mouse su MainStoryboard.storyboard nel Navigatore progetto.
  2. Selezionare Elimina e fare clic su Rimuovi solo riferimenti.
  3. Fare clic con il tasto destro su InfoPlist.strings e selezionare "Mostra nel Finder". (Questo è solo il mio modo pigro per aprire la cartella contenente lo storyboard nel Finder.)
  4. Trascina la MainStoryboard.storyboard dal Finder nel progetto.

Il mio sospetto è che ci sia un errore da qualche parte innescato aggiungendo file al progetto o alcune modifiche allo storyboard. Fa sì che i file localizzati non vengano copiati nel bundle (credo). Rimuovere lo storyboard e aggiungerlo nuovamente al progetto sembra risolvere il problema.

+0

Sì, questo ha risolto il mio problema. Grazie. – danfelabs

+0

questo è quello che faccio ogni volta che succede, ma mi piacerebbe capire cosa lo causa ogni tanto – Brenden

+1

Ben documentato, Kelly; grazie. :-) – Slowburner

3

C'è un altro modo!

Vai al tuo progetto, seleziona il tuo target e clicca su Fasi di costruzione. Quindi aprire "Copia risorse pacchetto" e aggiungere MainStoryboard.storyboard alle risorse. È possibile farlo facendo clic sul piccolo segno "+" nella parte inferiore dell'elenco non aperto.

Non è necessario eliminare il file dal progetto semplicemente aggiungerlo nuovamente alle risorse.

+0

Sicuramente un buon modo per farlo! E mi piace che eviti di rimuovere il file (una possibilità di spostarlo accidentalmente nel cestino.) Questo è anche un buon posto per notare che alcuni file sorgente trascinati potrebbero non essere aggiunti alla lista di compilazione! In tal caso, aprire Sorgenti di compilazione e aggiungere il file .m o .mm con il segno +. – Kelly

1

È anche possibile ripristinare il simulatore.

+0

questo non lo aggiusta perché questo problema accade anche ai dispositivi reali – Brenden

4

I have app universale, quindi con uno storyboard per iPhone e una per iPad, opere simulatore di iPad, ma quando provo a pranzo iPhone simulatore ottengo questo errore:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard' in bundle NSBundle </var/mobile/Applications/BE0CBEE9-1E95-443A-97CF-53CCD66A2D0C/WalkBack.app> (loaded)' 

ho provato tutte le soluzioni ma nessuno ha funzionato. Ho sempre avuto lo stesso errore. Ho risolto la rimozione dei parametri di localizzazione sullo storyboard di iPhone e ho impostato per entrambi lo storyboard la stessa localizzazione.

Spero che questo ti aiuti!

+0

Dovrò provare questa volta la prossima volta che ottengo questo errore. Sono certo che questo errore è legato alla localizzazione e il fatto che tu menzioni la localizzazione come un problema è positivo per la mia teoria :) – Brenden

0

In realtà, per essere ancora più preciso, si scoprirà che non è possibile aggiungere MainStoryboard.storyboard [non viene visualizzato nel browser file] nella sezione "Copia risorse bundle" dell'impostazione Fase di creazione. Ho scoperto che in realtà dovevo aggiungerla alla sezione "Compile Sources" dell'impostazione Build Phase. Quindi lo aggiunge a entrambe le sezioni.Non sono sicuro se questo è il comportamento previsto o un bug in Xcode 4.6.3.