6
votes

I'm trying to check the UIAlertController in iOS 9 for my sample application and while run it then I had found warning in console. I'm using Xcode 7 and Objective C.

Please find the below warning message in console.

Warning: Attempt to present < UIAlertController: 0x7fb1bb5be040 > on < ViewController: 0x7fb1bb5aef30 > whose view is not in the window hierarchy!

Please find the below code for more information.

UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"My Alert"
                                                               message:@"This is an alert."
                                                        preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                      handler:^(UIAlertAction * action) {}];

[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
1
where are you calling this code ?Teja Nandamuri
Are you calling this on viewDidload?Teja Nandamuri
@Mr.T : Yes I am calling in viewDidLoad.Ramkrishna Sharma

1 Answers

15
votes

I guess, you are trying to present the alert on view did load. You get the error:

Warning: Attempt to present < UIAlertController: 0x7fb1bb5be040 > on < ViewController: 0x7fb1bb5aef30 > whose view is not in the window hierarchy!

because, in view did load the views are not yet available to display to the user. Hence you can't present the alert. Move the code into viewDidAppear