iOS - публикация виртуального принтера с NSNetService

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

Я попытался опубликовать NSNetService типа "_ipp._tcp" из моего приложения, но UIPrintInteractionController, похоже, не находит его и не отображает его в списке принтеров, даже если я пытаюсь запустить NSNetServiceBrowser типа "_ipp._tcp"."из моего приложения я нахожу тот же список принтеров, который найден UIPrintInteractionController плюс мой опубликованный сервис.
Так что мой вопрос, в любом случае это может быть сделано в iOS?

В качестве альтернативы, если это невозможно, я подумываю о создании расширения действия для осуществления загрузки с ним, в этом случае есть ли возможность использовать пользовательский интерфейс UIPrintInteractionController для редактирования файла (т. Е. Копирования, диапазона страниц и представления файла в пользователь перед "печатью") вместо того, чтобы реализовать все с нуля?

Я довольно новичок в iOS, и это мое первое приложение, любая помощь будет признательна, спасибо заранее.

Изменить: в этой статье: https://www.cnet.com/news/print-to-pdf-for-ios-the-killer-alternative-to-airprint/
упомянутое приложение в настоящее время не доступно в магазине, но в статье они описывают, как его использовать:

"Все, что вам нужно, - это запустить" Печать в PDF ", а затем переключиться на любое другое приложение, поддерживающее печать. Нажмите команду" Печать ", выберите" Печать в PDF "в качестве принтера (однократная задача), а затем снова нажмите" Печать ". Процесс может занять несколько секунд, в зависимости от длины элемента. Когда это будет сделано, у вас будет возможность мгновенно переключиться на приложение, чтобы просмотреть новый PDF-файл."

что похоже на то, что мне нужно, так что теперь я знаю, что это возможно, остается вопрос, как.

Edit2: я думаю, что проблема может быть в том, что UIPrintInteractionController находит и отображает службы, которые являются AirPrint, поэтому мой NSNetService должен быть настроен как airPrint. Создание службы Bonjour AirPrint на устройстве iOS, в этом вопросе люди дали несколько ссылок, как это сделать, но Я до сих пор не могу понять, как и где это реализовать в моем коде, сейчас мой код для NSNetService (в AppDelegate.m):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
self.ns = [[NSNetService alloc]initWithDomain:@"" type:@"_ipp._tcp" name:@"My Virtual Printer" port:0];  
self.ns.delegate=self;  
[self.ns publishWithOptions:NSNetServiceListenForConnections];  
return YES;  
}

Может кто-нибудь помочь разъяснить, как опубликовать его как AirPrint?

0 ответов

Другие вопросы по тегам