Как быстро сохранить документ в приложении "Файлы"

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

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

Я искал в Google несколько часов, но не смог найти никаких полезных методов.

пожалуйста, посмотрите stackoverflow.com/a/51764198/7276810

Rashid KC 09.08.2018 12:07
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
26
1
22 898
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

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

Ответ принят как подходящий

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

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

у меня нет папки "на моем iphone", как программно создать папку ???

M.R 03.07.2018 10:07

Я использую PDFKit. Как я могу получить PDFData и сохранить PDF в файлах?

Ekta Padaliya 18.07.2018 15:30

@EktaPadaliya, посмотри мой ответ.

Devbot10 04.09.2018 19:18

как установить собственное имя файла pdfData? Спасибо

Kyaw Zin Htun 05.09.2018 03:11

Пользуюсь этим решением stackoverflow.com/questions/54026866/… Спасибо stackoverflow.com/users/1131021/joeybladb

Dawy 04.01.2019 00:49

Минимум 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, который показывает варианты того, что они могут делать с этим документом.

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

activityController.excludedActivityTypes = [.airDrop, .postToTwitter]

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