Сохранить документ в приложении «Файлы» в Swift - PullRequest
0 голосов
/ 02 мая 2018

Я только что создал PDF-документ в своем приложении и хочу сохранить документ на устройстве таким образом, чтобы приложение «Файлы» могло получить доступ к сохраненному документу.

Я видел, что это в сафари, когда мы загружаем документ в формате PDF, есть возможность сохранить документ в приложении «Файл», мне нужно просто так

Погуглил несколько часов, но не нашел никаких полезных методов

Ответы [ 3 ]

0 голосов
/ 02 мая 2018

Если у вас есть доступ к вашему PDFdata, вы можете предоставить пользователю UIActivityViewController, где они могут сохранить его в Files или поделиться им с любым из других доступных вариантов:

let activityViewController = UIActivityViewController(activityItems: ["Name To Present to User", pdfData], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)

enter image description here

0 голосов
/ 04 сентября 2018

Минимум iOS 11

Приложение Файлы было представлено в iOS 11. Вам не будет предоставлена ​​возможность сохранять в файлы, если вы используете версию ниже iOS 11. При этом документы можно загружать в различные приложения. в зависимости от настроек, доступных на телефоне пользователя, и разрешенных вами параметров.

@available(iOS 11.0, *)
func savePDF() {
    guard let documentData = document.dataRepresentation() else { return }
    let activityController = UIActivityViewController(activityItems: [documentData], applicationActivities: nil)
    self.present(activityController, animated: true, completion: nil)
}

Это пример способа сохранения документа. Вы не можете принудительно загрузить его и показать в приложении «Файлы». Вы должны предоставить UIActivityViewController, который показывает опции того, что они могут делать с этим документом.

enter image description here

Если вы хотите исключить какие-либо параметры, показанные на UIActivityViewController, то внедрите excludedActivityTypes следующим образом.

activityController.excludedActivityTypes = [.airDrop, .postToTwitter]
0 голосов
/ 02 мая 2018

Попробуйте UIDocumentInteractionController:

let doc = UIDocumentInteractionController(url: url)
doc.presentOptionsMenu(from:in:animated:)

Есть опция с именем save to Files.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...