Intereting Posts
Почему этот код приводит к EXC_BAD_ACCESS при использовании ARC? NotificationCenter с уведомлением EKEventStoreChanged, вызываемым несколько раз с различными уведомлениями Как добавить два отдельных несвязанных предиката к одному fetchrequest в NSFetchedResultsController iOS: синглтон подкласса в быстрых Воспроизведение и запись звука не работает с iOS 10 Основные данные. Проблема NSPredicate с использованием константных литералов в качестве имен свойств Подавать оповещение на ViewController только один раз. Удалено по умолчанию png теперь Сбой сборки Основные данные Transformable Attributes (NSArray) пустые Понимание процесса деблокировки ViewController Основная функция DispatchQueue не называется ios активирует прокрутку в форме входа, когда появилась клавиатура Могу ли я запустить алгоритм на GPU с помощью Metal? Являются ли конструктор и метод Dispose для объектов SqliteCommand потокобезопасными в Mono? как я могу отслеживать результаты за пределами dispatch_async при отладке программы iOS?

Инициирование исходного 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 не отключает ее.