Я использую UIDocumentBrowserViewController в сочетании с QLPreviewController для предварительного просмотра документов, выбранных пользователями в UIDocumentBrowserViewController, который отлично работает.Переменная pickedDocumentURL
, используемая QLPreviewController
, заполняется следующим образом:
func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentURLs documentURLs: [URL]) {
// (...)
pickedDocumentURL = documentURLs.first as NSURL?
// Present QLPreviewController instance ...
}
Однако, когда я заполняю переменную pickedDocumentURL
, используя:
pickedDocumentURL = NSURL(string: documentURLs.first!.absoluteString)
или:
pickedDocumentURL = URL(string: documentURLs.first!.absoluteString) as NSURL?
... тогда QLPreviewController
не работает (отображается, но предварительный просмотр пуст), и я получаю следующую ошибку на консоли:
[по умолчанию] QLUbiquitousItemFetcher: не удалось создать оболочку песочницы.Ошибка: Ошибка Domain = NSPOSIXErrorDomain Code = 1 "не удалось выдать расширение песочницы com.apple.quicklook.readonly для '/ private / var / mobile / Containers / Shared / AppGroup / 07524B34-D877-449F-A5C3-89A0431560E5 / Поставщик файловStorage / 22207162 / 1qrbGgy6-u0f69mPqOjjpzlYiUYPR8OG_ / Sample.pdf ': операция не разрешена "UserInfo = {NSDescription = не удалось создать расширение песочницы com.apple.quicklook.readonly для' / private / var / mobile / Containers / Shared / AppGroup /07524B34-D877-449F-A5C3-89A0431560E5 / Хранилище файлового провайдера / 22207162 / 1qrbGgy6-u0f69mPqOjjpzlYiUYPR8OG_ / Sample.pdf ': операция недопустима} # PreviewItem
из 1016 * всех этих строк, 1022 * 1022случаи точно такие же.