Сохранить документ в приложении "Файлы" в быстром
Я просто создал документ pdf в своем приложении, и я хочу сохранить документ в устройстве таким образом, чтобы приложение "Файлы" могло получить доступ к сохраненному документу.
Я видел это в сафари, когда мы загружаем документ в формате PDF, есть возможность сохранить документ в приложении File, мне нужно просто так
Googled в течение нескольких часов, но не нашел полезных методов
Ответы
Ответ 1
Если у вас есть доступ к 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]()
Ответ 2
Минимум 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]
Ответ 3
Попробуйте UIDocumentInteractionController
:
let doc = UIDocumentInteractionController(url: url)
doc.presentOptionsMenu(from:in:animated:)
Там есть опция с именем save to Files
.