2012-09-19 9 views
6

Ricevo "Le applicazioni dovrebbero avere un controller di visualizzazione radice al termine dell'avvio dell'applicazione" nella console mentre l'applicazione non si apre dopo visualizzazione della schermata iniziale. La mia domanda: Metodo didFinishLaunchWithOptions è:Le applicazioni dovrebbero avere un controller di visualizzazione root al termine della disaplicazione dell'applicazione in console

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]]; 
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"]; 

[self.window setRootViewController:initViewController]; 
[self.window makeKeyAndVisible]; 
[self.window makeKeyWindow]; 
return YES; 

main.m è come:

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

    } 
} 

L'applicazione è stato precedentemente lavorando bene. È solo un rapido non funzionante da oggi. Sto usando ARC e Storyboard nell'applicazione. Per favore suggerire

risposta

1

Assicurarsi che il controller che viene restituito dallo storyboard non sia nil.

Modifica Mentre ci sei ... dove crei self.window?

+0

Sì, ce l'ho fatta. – Arvind

+0

Inoltre, vedere la parte successiva della mia risposta – borrrden

0

Ho impostato l'opzione principale Storyboard in impostazioni di generazione come "MainStoryboard enter image description here"

E il suo lavoro !!!

+2

Questo funziona solo perché ignora il codice precedente e imposta automaticamente la prima vista, solo per il riferimento dei futuri visitatori. – borrrden

1

avrei scorrere che nel debugger e rendere le linee certo, come

[storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"] 

stanno tornando quello che vi aspettate.

Accertarsi che il controller di visualizzazione dello storyboard in questione abbia effettivamente l'identificativo "FirstInfo" e non qualcosa "Firstinfo" o "FirstInfo".

Mi piacerebbe anche assicurarmi che lo storyboard sia membro della destinazione dell'applicazione nella finestra di ispezione dei file.

Speriamo che uno di questi sia la causa.

15

aggiungere un "MainStoryboard" nel progetto, e impostare l'opzione principale Storyboard in impostazioni di generazione come "MainStoryboard"

quindi, aggiornare il metodo AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
return YES; 
} 

Funziona.

0

Nello storyboard, selezionare rootViewController e selezionare "is initial view controller" nel menu delle utilità di sinistra.

Problemi correlati