#ios #swift #pdf #preview #downloadfile
#iOS #swift #PDF #Предварительный просмотр
Вопрос:
Я загрузил PDF-файл, используя приведенный ниже код. Я могу найти файл в контейнере данных приложения, но для контейнера данных приложения моему устройству нужен Mac, x code или iTunes и т.д.
Могу ли я указать путь к документам или другое место для поиска PDF-файла в файлах iPhone? У меня есть возможность открыть файл с помощью iBook, но его там нет.
Мой код для загрузки файла находится здесь:
func downloadFile(){
let url = "https://www.tutorialspoint.com/swift/swift_tutorial.pdf"
let fileName = "MyFile"
savePdf(urlString: url, fileName: fileName)
}
func savePdf(urlString:String, fileName:String) {
DispatchQueue.main.async {
let url = URL(string: urlString)
let pdfData = try? Data.init(contentsOf: url!)
let resourceDocPath = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last! as URL
let pdfNameFromUrl = "YourAppName-(fileName).pdf"
let actualPath = resourceDocPath.appendingPathComponent(pdfNameFromUrl)
do {
try pdfData?.write(to: actualPath, options: .atomic)
print("pdf successfully saved!")
//file is downloaded in app data container, I can find file from x code > devices > MyApp > download Container >This container has the file
} catch {
print("Pdf could not be saved")
}
}
}
Ответ №1:
Настройте свое приложение так, чтобы его файлы отображались в приложении Files, добавив в свой Info.plist
файл приведенные ниже строки.
<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
или
Точно так же, как показано ниже, используя Xcode
Примечание: Помните, что вы должны работать под управлением iOS 11 или выше.
Комментарии:
1. Спасибо @Prakash Shiva, который работал с swift, можете ли вы помочь мне сделать то же самое в objective c, я пытался, но там это не сработало
2. как я могу скрыть нежелательные параметры из UIDocumentInteractionController, появившегося в этом примере, в настоящее время он показывает параметры: Копировать, разметка, печать, addTag, сохранить файл, но я хочу показать только опцию «Сохранить файл»
3. Где вы внедряете UIDocumentInteractionController в свой код??
4. Кстати, вам не нужен UIDocumentInteractionController в соответствии с требованием, которое вы упомянули в своем вопросе.
5. Я задаю примерно тот же вопрос, для которого вы предоставили мне решение, реализованное в том же коде, что и в моем вопросе, а затем я добавил изменения в pList в качестве вашего руководства, которые показывают мне UIDocumentInteractionController, теперь я хочу настроить это