Я думаю, что приведенный ниже код будет работать,
-(IBAction)printButtonAction:(id)sender{
float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (systemVersion>4.1) {
NSData *myPdfData = [NSData dataWithContentsOfFile:pdfPath]; //check the value inside |myPdfData| and |pdfPath| is the path of your pdf.
UIPrintInteractionController *controller = [UIPrintInteractionController sharedPrintController];
if (controller && [UIPrintInteractionController canPrintData:myPdfData]){
controller.delegate = delegate; //if necessary else nil
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = [pdfPath lastPathComponent];
//printInfo.duplex = UIPrintInfoDuplexLongEdge;
controller.printInfo = printInfo;
controller.showsPageRange = YES;
controller.printingItem = myPdfData;
// We need a completion handler block for printing.
UIPrintInteractionCompletionHandler completionHandler = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
if(completed && error){
NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code);
}
};
[controller presentFromRect:rect inView:senderView animated:YES completionHandler:completionHandler];
}else {
NSLog(@"Couldn't get shared UIPrintInteractionController!");
}
}
Проверьте путь к PDF-файлу, который вы выбрали, я думаю, что вы пропустили / / после каталога DocumentsВы пытаетесь поставить точку останова и проверить путь, а затем проверить | данные |переменная для содержимого по указанному вами пути.Попробуйте и ответьте на ваши комментарии.:)