2012-09-19 4 views
6

Otrzymuję komunikat "Aplikacje mają mieć kontroler widoku root na końcu uruchamiania aplikacji" w konsoli, a aplikacja nie otwiera się po wyświetlanie ekranu powitalnego. Mój wniosek: metoda didFinishLaunchWithOptions jest:Oczekuje się, że aplikacje będą miały kontroler widoku root na końcu uruchamiania aplikacji, znikając w konsoli

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 jest jako:

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

    } 
} 

Wniosek został uprzednio pracy grzywny. To jest po prostu szybkie, nie działa od Dzisiaj. Używam ARC i Storyboard w aplikacji. Proszę zasugeruj.

Odpowiedz

1

Upewnij się, że kontroler zwracany z serii ujęć nie jest nil.

Edytuj Podczas gdy jesteś w tym ... gdzie tworzysz self.window?

+0

Tak, udało mi się. – Arvind

+0

Zobacz także następną część mojej odpowiedzi. – borrrden

0

mam ustawić opcję Main Storyboard w ustawieniach kompilacji jak "MainStoryboard enter image description here"

i jego pracy !!!

+2

Działa to tylko dlatego, że lekceważy powyższy kod i automatycznie ustawia pierwszy widok, tylko w celu odniesienia do przyszłych użytkowników. – borrrden

1

chciałbym przejść przez to w debugera i upewnij się, że linie jak

[storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"] 

wracają co czekasz.

Upewnię się, że kontroler widoku storyboardu rzeczywiście ma identyfikator "FirstInfo", a nie coś "Firstinfo" lub "FirstInfo".

Upewnię się również, że scenorys jest członkiem celu aplikacji w inspektorze plików.

Mam nadzieję, że jednym z nich jest przyczyna.

15

dodać "MainStoryboard" do swojego projektu i ustaw opcję Main Storyboard w ustawieniach kompilacji jak "MainStoryboard"

następnie zaktualizuj metodę AppDelegate:

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

to działa.

0

W scenorysie wybierz rootViewController i zaznacz "is initialization controller" w lewym menu narzędziowym.

Powiązane problemy