Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Meaning of Warning "while a presentation is in progress!"

When I am integarting the Instagram in my project. I am getting a image from UIImagePickerController and after it i want to send it to Instagram But when I am sending image to Instagram by UIDocumentInteractionController delegate method presentOptionsMenuFromRect:inView: animated: like this

[documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES];

The warning comes Warning: Attempt to present <_UIDocumentActivityViewController: 0x7584780> on while a presentation is in progress!
The application is not Crashing. But I am not getting the Problem. Why this warning comes and what It means. I searched on Internet and read questions about this but not got any answer. Help me !!

like image 380
chakshu Avatar asked Jan 22 '13 06:01

chakshu


4 Answers

// Breaks
[viewController1 dismissViewControllerAnimated:YES completion:NULL];
[self presentViewController:viewController2 animated:YES completion:NULL];

// Does not break
[viewController1 dismissViewControllerAnimated:YES completion:^{
    [self presentViewController:viewController2 animated:YES completion:NULL];
}];

The Swift 3 version of the above code would look like this:

// Breaks
viewController1.dismiss(animated: true)
present(viewController2, animated: true)

// Does not break
viewController1.dismiss(animated: true) {
    present(viewController2, animated: true)
}

Note the use of the completion handler in the second example above.
It only presents viewController2 after viewController1 has been fully dismissed.

like image 131
John Erck Avatar answered Nov 01 '22 17:11

John Erck


For those needing/wanting the swift 3 version, here it is

viewController1.dismiss(animated: true, completion: {
    self.present(self.viewController1, animated: true)
})

viewController1 is the viewcontroller you want to present.

like image 7
Micah Montoya Avatar answered Nov 01 '22 17:11

Micah Montoya


It means you are presenting or dismissing UIImagePickerController and trying to present UIDocumentInteractionController, while first presentation or dismissing is not completed.

like image 3
Timur Mustafaev Avatar answered Nov 01 '22 18:11

Timur Mustafaev


This means that you are presenting 2 ViewControllers at the same time. Call your delegate after the first presentation is completed.

like image 2
hayashi_leo Avatar answered Nov 01 '22 18:11

hayashi_leo