A controller can only have one modal presented at a time. A potential quick fix is to dismiss a potential modal first, before showing the new one:
// Dismiss
[self.window.rootViewController dismissViewControllerAnimated:NO completion:nil];
// Then present
[self.window.rootViewController presentViewController:controller animated:YES completion:nil];