I want to print a list of all of the app's viewcontrollers which are loaded in order to understand why am I getting a white screen and for general debugging purposes.
Please advise, Thanks, Asaf
I want to print a list of all of the app's viewcontrollers which are loaded in order to understand why am I getting a white screen and for general debugging purposes.
Please advise, Thanks, Asaf
You can do some recursive printout like this (I know it's not perfect, but it's a start):
static void printViewControllerRecursively(UIViewController *viewController, NSUInteger level) { NSMutableString *spaces = [NSMutableString stringWithCapacity:level * 3]; for (NSUInteger i = 0; i < level; ++i) { [spaces appendString:@" "]; } NSLog(@"%@->%@", spaces, viewController); if ([viewController isKindOfClass:[UITabBarController class]]) { for (UIViewController *child in [(UITabBarController *)viewController viewControllers]) { printViewControllerRecursively(child, level + 1); } } else if ([viewController isKindOfClass:[UINavigationController class]]) { for (UIViewController *child in [(UINavigationController *)viewController viewControllers]) { printViewControllerRecursively(child, ++level); } } } Then just call printViewControllerRecursively([UIApplication sharedApplication].keyWindow.rootViewController, 0);