【问题标题】:List accessible AirPrint Printers列出可访问的 AirPrint 打印机
【发布时间】:2016-08-15 11:09:52
【问题描述】:

我想显示设备可通过 AirPrint 访问的所有打印机的列表。

我使用UIPrinterPickerController 让它工作。

是否以自定义方式显示此 PickerController,假设将数据输入到 UITableView

另外请注意,我打算在只支持UIPrinterPickerController.presentFromRect(CGRect)的 iPad 上使用这个应用程序

这是它现在的样子。而不是这个弹出应该有一个UITableView

【问题讨论】:

  • 我想知道是否使用printerPickerController:shouldShowPrinter: 可以检索所有UIPrinter,因为它应该为每台打印机调用。您可能必须调用显示UIPrinterPickerController(并将其隐藏,或者在屏幕的不可见部分,快速关闭,我不知道应该何时调用委托方法,即如果单元格将显示,或者已经设置) 以便调用UIPrinterPickerControllerDelegate 的先前方法。

标签: ios swift ipad uiprintinteractioncntrler uiprintinfo


【解决方案1】:

NSNetServiceBrowser 正是为此而生的。

简而言之,你需要做的是:

1) 将对象设置为 NSNetServiceBrowserDelegate 2) 创建一个 NSNetServiceBrowser 对象 3) 分配代表 4) 使用browserObject.searchForServices(ofType: "_printer._tcp.", inDomain: "") 会得到各种反馈给代表。

我的一个简单测试得到了:

didFind: Samsung C460 Series (SEC001174EDCB63)

对于委托方法:

func netServiceBrowser(_ browser: NetServiceBrowser, didFind service: NetService, moreComing: Bool) {
    print("didFind: \(service.name)")
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多