Перечислите принтеры в виде таблицы, которые подключены к одной сети.IOS

Программируем под IOS
Ответить
Anonymous
 Перечислите принтеры в виде таблицы, которые подключены к одной сети.

Сообщение Anonymous »

Я создаю приложение с функцией печати фотографий, сканирования документов и печати документов, больших плакатов, копирования живого текста и печати, все работает как положено. Теперь я хочу зарегистрировать в UITableView принтеры, подключенные к одной сети. Ниже приведен мой код для принтера.

Код: Выделить всё

let printController = UIPrintInteractionController.shared

class PrinterManager: NSObject, UIPrintInteractionControllerDelegate, UIPrinterPickerControllerDelegate {

let printerPickerController = UIPrinterPickerController(initiallySelectedPrinter: nil)

static let shared = PrinterManager()
private var viewController: UIViewController?
var didFinishPrintingClosure: (() -> Void)?

private override init() {}

// Set the view controller when initializing the PrinterManager
func setViewController(_ viewController: UIViewController) {
self.viewController = viewController
self.printerPickerController.delegate = self
}
}
Это метод выбора принтера:

Код: Выделить всё

func selectPrinter(sender: UIView, successCompletion: @escaping (Bool) -> (), errorCompletion: @escaping (Bool) -> ()) {
DispatchQueue.main.async {
if UIDevice.current.userInterfaceIdiom == .pad {
self.printerPickerController.present(from: sender.frame, in: self.viewController?.view ?? UIView(), animated: true) { (PickerVC, success, error) in
if success && error == nil {
if let printerUrl = PickerVC.selectedPrinter?.url {
let printerUrlPersistent = printerUrl.absoluteString
AppConstants.selectedPrinter = PickerVC.selectedPrinter
AppConstants.printerNamePersistent = PickerVC.selectedPrinter?.displayName
AppConstants.printerUrlPersistent = printerUrlPersistent
successCompletion(true)
} else {
errorCompletion(true)
}
} else {
errorCompletion(true)
}
}
} else {
self.printerPickerController.present(animated: true) { PickerVC, success, error in
if let selectedPrinter = PickerVC.selectedPrinter {
if let printerUrl = selectedPrinter.url as? URL { // crash
let printerUrlPersistent = printerUrl.absoluteString
AppConstants.selectedPrinter = selectedPrinter
AppConstants.printerNamePersistent = selectedPrinter.displayName
AppConstants.printerUrlPersistent = printerUrlPersistent
successCompletion(true)
} else {
errorCompletion(true)
}
} else {
errorCompletion(true)
}
}
}
}
}
Заранее благодарим за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/782 ... me-network
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»