从同一网络但不同子网的iOS应用程序访问wifi打印机
在我的项目中,有一个打印选项,我们可以打印一个简单的pdf文件,其中包含以下代码:从同一网络但不同子网的iOS应用程序访问wifi打印机,ios,printing,wifi,subnet,uiprintinteractioncntrler,Ios,Printing,Wifi,Subnet,Uiprintinteractioncntrler,在我的项目中,有一个打印选项,我们可以打印一个简单的pdf文件,其中包含以下代码: UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; if (pic && [UIPrintInteractionController canPrintData: self.myPDFData] ) { pic.delegate = self; UIPr
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];
}
}
当我在打印机模拟器中测试它时,它工作得很好。我的要求是打印机可能位于同一wifi的另一个子网上。我如何使其工作?无需更改代码中的任何内容,如果打印机将在同一网络中,那么它将被
UIPrintInteractionController
发现,并从弹出窗口中选择打印机。只需通知iPad的IP地址是:192.168.1.100,打印机的IP地址是:192.168.2.101,两者都在同一网络中,但子网不同。我看到了我的iPad应用程序找不到打印机。请建议。