2015-08-26 1 views
0

В моем проекте есть опция печати, где мы выводим простой PDF-файл с помощью следующего кода:доступа Wi-Fi принтер с IOS приложение в той же сети, но другой подсети

UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 

if (pic && [UIPrintInteractionController canPrintData: self.myPDFData]) { 
    pic.delegate = self; 
    UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
    printInfo.outputType = UIPrintInfoOutputGeneral; 
    printInfo.jobName = @"PrintPdf"; 
    printInfo.duplex = UIPrintInfoDuplexLongEdge; 
    pic.printInfo = printInfo; 
    pic.showsPageRange = YES; 
    pic.printingItem = self.myPDFData;  
    void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = 

    ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) { 
     if (!completed && error) 
      NSLog(@"FAILED! due to error in domain %@ with error code %ld", 
        error.domain, (long)error.code); 
    }; 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     [pic presentFromRect:self.printButton.frame inView:self.view animated:YES completionHandler:^(UIPrintInteractionController *printInteractionController, BOOL completed, NSError *error) { 
     }]; 
    } else { 
     [pic presentAnimated:YES completionHandler:completionHandler]; 
    } 
} 

Он отлично работает, когда я испытал его в симулятор принтера. Мое требование состоит в том, что принтер может находиться в другой подсети одного и того же Wi-Fi. Как это сделать?

ответ

0

Не нужно ничего менять в коде UIPrintInteractionController, если принтер будет в одной сети, тогда он будет доступен для обнаружения UIPrintInteractionController, и из всплывающего окна вы сможете выбрать принтер.

+0

Просто хочу сообщить IP-адрес iPad: 192.168.1.100 и IP-адрес принтера: 192.168.2.101 и оба находятся в одной сети, но подсеть отличается. Я вижу, что приложение My iPad не может найти принтер. Пожалуйста, предлагать. –

Смежные вопросы