UIPrintInteractionController does not indicate its method of dismissal

Originator:bcriscuolo
Number:rdar://22094417 Date Originated:07/31/15
Status:Open Resolved:
Product:iOS Product Version:8.x
Classification: Reproducible:YES
 
Summary:
iPad: Using UIPrintInteractionController's delegate methods to determine when the lifecycle of the controller is ending, an app using the print controller is unable to determine if the popover was dismissed by invoking the "Print" button OR if the popover is dismissed because the user tapped elsewhere in the parent view.

- (void)printInteractionControllerWillDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController;
- (void)printInteractionControllerDidDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController;

both return the printInteractionController, but there are no properties of that object available to say how the dismissal took place.

Steps to Reproduce:
Use UIPrintInteractionController and handle the delegate methods

- (void)printInteractionControllerWillDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController;
- (void)printInteractionControllerDidDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController;

In either case, the properties of printInteractionController are equivalent no matter how the PIC was dismissed (print button OR tap outside popover).

Expected Results:
Either:

- delegate methods return another parameter "willPrint = YES/NO"

- additional delegate methods to describe the printing lifecycle, like 

"...didDismissWithPrintButton"

Actual Results:
A user of the PrintInteractionController doesn't know how the controller was dismissed.

Version:
iOS 7.x, iOS 8.x

Notes:


Configuration:
iPad (any) iPad Simulator (any)

Attachments:

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!