如何在 swift 下载 Pdf 文件并在文件管理器中查找
How to download a Pdf file in swift and find in file manager
我已经使用下面的代码下载了一个 pdf 文件。我能够在 App Data Container 中找到该文件,但我的设备需要从 App Data Container Mac、x code 或 iTunes 等
我可以提供文档的区别路径或另一个在 iPhone 文件中查找 pdf 的地方吗?我可以选择使用 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")
}
}
}
通过在 Info.plist
文件中添加以下行来配置您的应用,使其文件显示在“文件”应用中。
<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
或
就像下面使用Xcode
注意:请记住,您必须 运行 iOS 11 岁或以上。
我已经使用下面的代码下载了一个 pdf 文件。我能够在 App Data Container 中找到该文件,但我的设备需要从 App Data Container Mac、x code 或 iTunes 等
我可以提供文档的区别路径或另一个在 iPhone 文件中查找 pdf 的地方吗?我可以选择使用 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")
}
}
}
通过在 Info.plist
文件中添加以下行来配置您的应用,使其文件显示在“文件”应用中。
<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
或
就像下面使用Xcode
注意:请记住,您必须 运行 iOS 11 岁或以上。