Botón de cierre en popover adaptativo

En un guión gráfico tengo un controlador de vista raíz con un botón que activa un segmento 'Presente como Popover' a un UINavigationController que contiene un UITableViewController. Quiero que el controlador de navegación esté presente tanto en iPhone como en iPad.

En un iPad, esto funciona muy bien en un popover.

En un iPhone, obtengo la presentación modal, por lo que ahora necesito un elemento de botón de barra adicional para descartar la vista modal. Al mirar los videos de WWDC, intenté lo siguiente en el controlador de vista raíz:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    UIViewController *vc = segue.destinationViewController;
    vc.popoverPresentationController.delegate = self;
}

- (void)dismissPopover {
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (UIViewController *)presentationController:(UIPresentationController *)controller viewControllerForAdaptivePresentationStyle:(UIModalPresentationStyle)style {
    UINavigationController *nvc = (UINavigationController *)controller.presentedViewController;
    UIBarButtonItem *bbi = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissPopover)];
    nvc.topViewController.navigationItem.leftBarButtonItem = bbi;
    return nvc;
}

Yo entiendo el-presentationController:viewControllerForAdaptivePresentationStyle: El método solo debe llamarse cuando la interfaz de usuario es adaptativa, es decir, modal, sin embargo, no se llama en absoluto, incluso cuando se ejecuta como modal en iPhone.

Respuestas a la pregunta(3)

Su respuesta a la pregunta