У меня есть следующий код, который позволяет мне загружать PDF-файл с URL-адреса, он работает правильно:
class ViewController: UIViewController {
@IBOutlet weak var progressView: UIProgressView!
override func viewDidLoad() {
let _ = DownloadManager.shared.activate()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
DownloadManager.shared.onProgress = { (progress) in
OperationQueue.main.addOperation {
self.progressView.progress = progress
}
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
DownloadManager.shared.onProgress = nil
}
@IBAction func startDownload(_ sender: Any) {
let url = URL(string: "https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf")!
let task = DownloadManager.shared.activate().downloadTask(with: url)
task.resume()
}
}
В настоящее время файл собирается по адресу: file:///Users/cybermac/Library/Developer/CoreSimulator/Devices/CAEC75D0-423A-4FB2-B0D6-9E7CADB190A1/data/Containers/Data/Application/8B5CBFC8-7058-48DB-A1C4-872302A80610/Library/Caches/com.apple.nsurlsessiond/Downloads/com.example.DownloadTaskExample/CFNetworkDownload_Q7OVlf.tmp.
Как сохранить в /Documents/?
Примерно так: file:///Users/cybermac/Library/Developer/CoreSimulator/Devices/CAEC75D0-423A-4FB2-B0D6-9E7CADB190A1/data/Containers/Data/Application/64370B29-2C01-470F-AE76-17EF1A7BC918/Documents/
Идея состоит в том, что файл, сохраненный в этом каталоге, можно использовать для чтения в автономном режиме (с помощью PDFKit или webKit). Он будет удален только в случае удаления приложения.
@ ChintaN-Maddy-Ramani, ваша наводящая ссылка на этот вопрос не имеет отношения.





После загрузки вам необходимо переместить файл в любое другое место. Внедрите URLSessionDownloadDelegate, и вы получите местоположение загруженного файла.
Метод делегата:
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)
Код для перемещения файла:
do {
let documentsURL = try
FileManager.default.url(for: .documentDirectory,
in: .userDomainMask,
appropriateFor: nil,
create: false)
let savedURL = documentsURL.appendingPathComponent("yourCustomName.pdf")
try FileManager.default.moveItem(at: location, to: savedURL)
} catch {
print ("file error: \(error)")
}
Чтобы узнать больше, обратитесь к это репо.
Извините, что беспокою, ссылка на ваш ответ. Могу я задать один вопрос, связанный с файлом PDF-документа?
@Newbie Да, что это?
Прежде всего спасибо. Вот ссылка на мой вопрос. Я отлично загружаю файлы pdf, но его недоступен автономный режим. Ссылка: stackoverflow.com/questions/59715589/…
Проверь это. (stackoverflow.com/questions/34346220/…)