Intereting Posts
Методы SFSafariViewControllerDelegate не вызываются при назначении делегата чему-то другому, кроме контроллера представления Изменить строку состояния от Light to Dark Низкий уровень UILocalNotification для некоторых пользователей, любой способ его контролировать? scrollToRowAtIndexPath всегда прокручивается сверху с текущего смещения Быстрое расширение словаря. Ошибка «Невозможно вызвать» dataWithJSONObject ' Взятие в TypeDef в качестве параметра в Objective-C KeychainItemWrapper не загружается на iOS 9 OSStatus -34018 (errSecMissingEntitlement) Есть ли способ изменить выходной канал VoiceOver? CGContextClearRect, вызывающий черный цвет фона Хранение пользовательских объектов как NSDictionary vs NSData TPKeyboardAvoidingScrollView не работает Чрезмерное «мерцание» в CMMotionManager deviceMotion значения ориентации Проверьте версию моего приложения в магазине Ошибка AudioKit – как воспроизвести аудиофайл с ним? Обнаруживать статус онлайн при запуске / возобновлении приложения – сеть может задерживаться?

Инициирование исходного ViewController в AppDelegate дает мерцающий черный экран перед первым представлением

В некоторых случаях я хочу установить конкретный конкретный inital view . В основном, чтобы разделить между бортовым и реальным использованием приложения. В настоящее время я использую этот код для этого:

 - (void)checkWhereUserIsInOnboarding { UIStoryboard *mainstoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; if([authStatus isEqual:@3]){ // did get past certain point in onboarding UIViewController *initialViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"connectNav"]; self.window.rootViewController = initialViewController; [self.window makeKeyAndVisible]; } else if(currentUser.objectId == nil){ //no user; he/she is new to the app UIViewController *initialViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"loginNav"]; self.window.rootViewController = initialViewController; [self.window makeKeyAndVisible]; } else{//fully featured users UIViewController *initialViewController = [mainstoryboard instantiateViewControllerWithIdentifier:@"tabbarcontroller"]; self.window.rootViewController = initialViewController; [self.window makeKeyAndVisible]; } } 

Поскольку мне нужно проверять это несколько раз за время жизни приложения, эта функция запускается в методе ApplicationDidBecomeActive .

Однако, когда я создаю один из этих VC в качестве первоначального представления, я всегда получаю черный экран около 100 мс, после чего приложение переходит на правый экран.

Как я могу это решить?

Solutions Collecting From Web of "Инициирование исходного ViewController в AppDelegate дает мерцающий черный экран перед первым представлением"

«Черный экран», по-видимому, означает, что ваше приложение убирается в фоновом режиме. Если вы замените приложение, то вызовите коммутатор приложений, показывает ли ваше приложение как черный экран?

В качестве отправной точки, вероятно, неплохо запустить ее под инструментами и посмотреть такие вещи, как память и т. Д., Чтобы убедиться, что IOS не отключает ее.