PresentViewController solo funciona una vez

Estoy un poco deslumbrado aquí. Y creo que podría ser algo estúpido, pero aquí va.

Estoy usando ABPadLockScreen para configurar una contraseña y funciona bien cuando abro la aplicación por primera vez y si la aplicación se cierra (finaliza) y se vuelve a abrir, pero si vuelvo a casa y return a ella, recibo la siguiente advertencia

Warning: Attempt to present <ABPadLockScreenViewController: 0x7fdc70f1d5a0> on <ViewController: 0x7fdc70f18e00> whose view is not in the window hierarchy! 

Solo para más información aquí está el código que lo activa, está dentro de la vistaDidAppear

 AppDelegate *delegate = (AppDelegate*)[[UIApplication shanetworkingApplication] delegate]; if (!self.pin && delegate.terminated) { // [[[UIAlertView alloc] initWithTitle:@"No Pin" message:@"Please Set a pin before trying to unlock" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; //return; [self dismissViewControllerAnimated:YES completion:nil]; } else if (!self.isPin && !delegate.terminated) { ABPadLockScreenViewController *lockScreen = [[ABPadLockScreenViewController alloc] initWithDelegate:self complexPin:YES]; [lockScreen setAllowedAttempts:3]; lockScreen.modalPresentationStyle = UIModalPresentationFullScreen; lockScreen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController:lockScreen animated:YES completion:nil]; } 

Si se está preguntando sobre el delegado, fue así que la pantalla de passwords se mostraría cuando la aplicación simplemente se cerró y volvió a abrir y ahí es cuando se produce la advertencia.

Además, si simplemente cambio de una vista a otra, la maldita cosa aparece de nuevo.

Gracias por adelantado