У меня есть расширение общего доступа, которое ищет вложения от NSItemProvider, которое я использую для получения URL-адреса (например, любого веб-сайта, который пользователь посещает в Safari), когда пользователь нажимает кнопку расширения общего ресурса моего приложения.
Когда я перебираю вложения, я ищу public.url, kUTTypeURL, kUTTypeText и kUTTypeData. Это хорошо работает для обычных веб-сайтов, которые обычно возвращают вложение public.url. Однако, когда кто-то посещает URL, который отображает PDF (например, URL , например, ), тогда NSItemProvider найдет только тип вложения kUTTypeData. Вот мой фрагмент для этого:
else if provider.hasItemConformingToTypeIdentifier(kUTTypeData as String) {
provider.loadItem(forTypeIdentifier: kUTTypeData as String, options: nil) { (text, err) in
print("Found kUTTypeData, text: ", text)
}
}
Напечатанный текст выглядит примерно так:
file: /// Пользователи / имя пользователя / Библиотека / Разработчик / CoreSimulator / Devices / 7558EE15-EA8E-496C-9CC5-B397SAB36039 / data / Containers / Data / Application / 3465F991-39E1-4330-93C6-2A1A43AFAD81 / tmp / QuickLookContent-GLuwMHlh / dummy.pdf
Вместо этого есть способ получить фактический URL?