我正在尝试将PDF文件简单地保存到iOS设备上的“文件”应用中。
[当用户单击“保存到文件”,然后单击“保存”操作时,我得到2份PDF副本保存到设备上。
这是错误吗?我做错什么了吗?
下面是我的代码
@objc func downloadPdfTapped() {
if let fileURL = createTempPdfFile() {
let activityVC = UIActivityViewController(activityItems: [fileURL], applicationActivities: nil)
activityVC.excludedActivityTypes = [.assignToContact, .markupAsPDF]
present(activityVC, animated: true, completion: nil)
}
else {
print("\n\nERROR CREATING PDF\n\n")
}
}
private func createTempPdfFile() -> URL? {
let tempFile = "temp_statement.pdf"
guard let tempFolder = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return nil }
self.tempFileURL = tempFolder.appendingPathComponent(tempFile)
guard let currentFileURL = self.tempFileURL else { return nil }
do {
try pdfData.write(to: currentFileURL)
return currentFileURL
}
catch {
print(error.localizedDescription)
return nil
}
}
谢谢
确定,知道了!
我正在将临时文件写入:
guard let tempFolder = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return nil }
但是,我确实应该将它写在temp文件夹中,所以类似的工作正常...
let tempFolder = FileManager.default.temporaryDirectory
这使我得到real临时目录。
然后,完成后,别忘了删除您的临时文件!