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?