iOS 7-nie można uruchomić domyślnego kontrolera widoku
Używam Xcode 5 w nowo utworzonej aplikacji i kiedy tylko ją utworzyć idę na przycisk Uruchom e kliknij na nią, następnie projekt zostanie zbudowany, ale nie pokazuje się w symulatorze iOS i dostaję następujący komunikat:
Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' -
perhaps the designated entry point is not set?
Wygooglowałem o tym oczywiście i wszyscy zwracają uwagę, że dzieje się tak, ponieważ XCode nie wie jeszcze, który kontroler widoku jest początkowy. Ale dziwne jest to, że stworzyłem aplikację jako stronę opartą (wypróbowałem również aplikację z pojedynczym widokiem i z kartami opcje) aplikacja i XCode już zdefiniowały dla niego Storyboard.
Również, gdy przejdę do opcji głównego interfejsu projektu, storyboard (nazwany "głównym" przez samego Xcode) jest ustawiony, a w Storyboardzie mój kontroler widoku jest ustawiony jako "kontroler początkowego widoku"
Co się stało?13 answers
Więc to też przytrafiło się mnie. Sprawdzałem 50 razy i mój" jest początkowy kontroler widoku " został sprawdzony, uwierz mi. To stało się ni stąd ni zowąd. Więc jak to naprawiłem?
- Utwórz nowy Storyboard w swoim projekcie, nadaj mu nazwę Main_iPhoneV2 (lub iPadV2 w zależności od oryginalnego stylu storyboardu)
- Otwórz zepsuty storyboard, kliknij w dowolnym miejscu w białym obszarze i naciśnij command-a, a następnie command - c (Wybierz wszystko i kopiuj)
- Otwórz nowy storyboard i naciśnij command-v, aby wkleić dokładnie tę samą konfigurację
- Przejdź do ustawień projektu, Zmień "Główny Interfejs" na nowy Main_iPhoneV2 (jeśli to Twój iPad i piszesz uniwersalną aplikację, będziesz musiał edytować-Info.plist i poszukaj wartości " Main storyboard file base name (iPad)
- przekompiluj i przestań wyrywać włosy
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-02 03:46:03
Check jest kontrolerem widoku początkowego {[2] } w Inspektorze atrybutów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-12 04:07:19
Najpierw kliknij kontroler widoku po prawej stronie Narzędzia Pasek. Następnie wybierz Inspektora atrybutów i upewnij się, że w sekcji kontroler widoku zaznaczone jest pole wyboru 'is Initial View Controller'!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-20 18:53:53
Korzystanie Z Narzędzia Interface Builder :
Sprawdź, czy ustawiono 'jest kontrolerem widoku początkowego'. Możesz go ustawić, wykonując poniższe kroki:
- Wybierz swój kontroler widoku (który ma być wyświetlany jako ekran początkowy).
- Wybierz Inspektor atrybutów z okna Narzędzia .
- Wybierz "jest początkowym kontrolerem widoku " z sekcji kontroler widoku (Jeśli nie).
Jeśli wykonałeś ten krok i still getting error then uncheck and do it again.
używanie programowo :
Objective - C:
self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"]; // <storyboard id>
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];
return YES;
Swift:
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
var objMainViewController: MainViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainController") as! MainViewController
self.window?.rootViewController = objMainViewController
self.window?.makeKeyAndVisible()
return true
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-18 13:25:02
Ustaw okno ręcznie,
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if (!application.keyWindow.rootViewController)
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *myViewController= [storyboard instantiateViewControllerWithIdentifier:@"myViewController identifier"];
application.keyWindow.rootViewController = myViewController;
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-02 03:40:24
To Ostrzeżenie jest również zgłaszane, jeśli masz jakiś kod jak:
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.rootViewController = myAwesomeRootViewController
window?.makeKeyAndVisible()
W tym przypadku przejdź do pierwszej strony ustawień docelowych i ustaw Main Interface
na puste, ponieważ nie potrzebujesz wpisu storyboard dla swojej aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-13 05:54:34
Pojawia się ten błąd, gdy zmieniam nazwę pliku storyboard " Main.storyboard" do: "XXX.storyboard"
Rozwiązaniem dla mnie było:
- Produkt - > Czysty
- CHANGE: Pliki pomocnicze -> info.plist -> główna nazwa bazy plików storyboard -> Main TO: XXX
Powodzenia
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-04 11:22:11
Doświadczyłem tego, ponieważ mój Kontroler paska kart nie pojawia się w symulatorze wraz z czarnym ekranem. Wykonałem następujące czynności, aby moja aplikacja pojawiła się w symulatorze.
- przejdź do głównej.storyboard.
- Sprawdź
Is Initial View Controller
w zakładce Inspektor atrybutów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-20 21:00:03
Produkt "czysty" był dla mnie rozwiązaniem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-03 18:20:10
Oprócz powyższej poprawnej odpowiedzi, upewnij się również, że ustawiłeś poprawny interfejs główny w ogóle.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-02 14:46:21
Jeśli dodałeś nowy storyboard, musisz sprawdzić następujące punkty.
1) w pliku plist sprawdź wartość główna nazwa bazy plików storyboard (iPad) lub (iPhone) powinny być dopasowane do nazwy pliku storyboard ( nie dodawaj rozszerzenia .storyboard)
2) w storyboardzie powinien być jeden kontroler widoku, który ustawia się jako jest kontrolerem początkowego widoku
3) wyczyść i zbuduj swój projekt. :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-16 08:44:30
Jeśli regularnie przekazujesz swój kod do kontroli źródła, może to zaoszczędzić Ci kłopotów związanych z tworzeniem nowego storyboardu i prawdopodobnie wprowadzaniem kolejnych problemów...
Udało mi się to rozwiązać porównując kod źródłowy Git wersji, która działała przeciwko zepsutej. Różnica pokazała, że pierwsza linia powinna zawierać Id początkowego kontrolera widoku, w moim przypadku, initialViewController= "Q7U-eo-vxw". Przeszukałem kod źródłowy, aby być pewnym że identyfikator istniał. Wszystko, co musiałem zrobić, to odłożyć go z powrotem i wszystko działało ponownie!
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="Q7U-eo-vxw">
<dependencies>
<deployment defaultVersion="1296" identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/>
</dependencies>
<scenes>
Oto kilka kroków, które mogą pomóc w rozwiązaniu problemu:
- kliknij prawym przyciskiem myszy niedziałający Storyboard i użyj kontrolki Źródła > Zatwierdź... aby zachować zmiany od ostatniego commita.
- spróbuj kliknąć prawym przyciskiem myszy swój nieudany Storyboard i użyj "Otwórz jako > kod źródłowy", aby wyświetlić XML storyboardu.
- w elemencie dokumentu poszukaj atrybutu o nazwie "initialViewController ". Jeśli go nie ma, nie martw się, naprawimy to. Jeśli tam jest, Kliknij dwukrotnie przypisany do niego identyfikator, command-c, aby go skopiować, command-f command-v, aby wyszukać go głębiej w dokumencie. Jest to identyfikator kontrolera, który powinien zapewniać widok początkowy. Jeśli nie jest zdefiniowany w dokumencie, to jest to problem - należy go usunąć ze znacznika dokumentu, w moim przypadku initialViewController= "Q7U-eo-vxw".
- idź do Xcode z menu Widok i wybierz Edytor wersji > Pokaż Widok porównania
- to pokazuje Twoją lokalną wersję po lewej stronie, a historyczną po prawej. Kliknij datę pod historyczną wersją, aby uzyskać listę commitów dla tej tablicy. Wybierz ten, który zadziałał i porównaj element document . Jaki jest identyfikator *initialViewController? Czy jest inaczej? Jeśli tak, spróbuj edytować go ręcznie i uruchomić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-20 08:24:40
Sprawdź, czy masz var okna w AppDelegate.
var window: UIWindow?
A także sprawdź storyboard swoich informacji.plik plist.
<key>UIMainStoryboardFile</key>
<string>Main</string>
Programowe ustawienie kontrolera rootViewController w AppDelegate nie naprawi Ostrzeżenia. Powinieneś wybrać, czy pozwolić storyboardowi ustawić kontroler widoku, czy zrobić to programowo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-12 10:34:35