I'm studying iOS development with ObjC by an old book(for personal reasons), and this error happened when I override the didFinishLaunchingWithOptions from AppDelegate.m so I Solved by setting a global Navigation Controller, like this:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
RootController *rootController = [[RootController alloc] init];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:rootController];
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
[rootController release];
[navController release];
return YES;
}
Xcode 10.0 (10A255)
Worked on iPhone and Simulator(Both iPhone 7 - iOS 12)