我想显示一个列表,其中包含设备可通过 AirPrint 访问的所有打印机。
我可以使用UIPrinterPickerController
.
无论如何以自定义方式显示此 PickerController,假设将数据输入到UITableView
?
另请注意,我计划在仅支持UIPrinterPickerController.presentFromRect(CGRect)
这是它现在的样子。而不是这个弹出窗口应该有一个UITableView
我想显示一个列表,其中包含设备可通过 AirPrint 访问的所有打印机。
我可以使用UIPrinterPickerController
.
无论如何以自定义方式显示此 PickerController,假设将数据输入到UITableView
?
另请注意,我计划在仅支持UIPrinterPickerController.presentFromRect(CGRect)
这是它现在的样子。而不是这个弹出窗口应该有一个UITableView
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)")
}