Xamarin AirPrint дает сбой моему приложению, работающему на устройстве IOS 13 - PullRequest
0 голосов
/ 09 октября 2019

После обновления моего ipad до ios 13.2.1 команда AirPrint вызывает сбой моего приложения xamarin ios с собственным необработанным исключением. Другие приложения, такие как Notes, могут работать с AirPrint без проблем. Однако, поскольку AirPrint имеет различные способы реализации, возможно, он должен что-то делать с UIMarkupTextPrintFormatter, который я и использую. Ниже приведен фрагмент моей реализации

    var printer = UIKit.UIPrintInteractionController.SharedPrintController;

            ESAirPrintRenderer pageRenderer = new ESAirPrintRenderer (Subject, Logo, NumberOfCopies, HeaderHeight);

            UIMarkupTextPrintFormatter formatter = new UIMarkupTextPrintFormatter (HtmlContext);
            formatter.PerPageContentInsets = new UIEdgeInsets (10, 0, 10, 0);
            pageRenderer.AddPrintFormatter (formatter, 0);

            var printInfo = UIKit.UIPrintInfo.PrintInfo;
            printInfo.OutputType = UIKit.UIPrintInfoOutputType.General;
            printInfo.Duplex = UIPrintInfoDuplex.None;
            printInfo.Orientation = UIPrintInfoOrientation.Portrait;
            printInfo.JobName = Guid.NewGuid().ToString();

            printer.PrintPageRenderer = pageRenderer;

            printer.PrintInfo = printInfo;
            printer.ShowsPageRange = false;
            printer.ShowsNumberOfCopies = false;
            printer.ShowsPaperSelectionForLoadedPapers = false;



var handler = new UIKit.UIPrintInteractionCompletionHandler ((printInteractionController, completed, error) => {

            System.Threading.Tasks.Task.Factory.StartNew(() => {

                if (completed) {
                    //completed
                } else if (!completed && error != null) {

                    Alert.Error (error.ToString ());
                }
            });
        });

        printer.Present (true, handler);
...