我试图在本地写入文件,但没有成功。当我试图获取用户的文档目录时,它返回nil,我相信这就是为什么我的文件没有被存储。
另外,我对"用户文档目录"有很多疑问。应该是指。是"文件"吗?inside "iCloud drive &;或者"在我手机上"。我应该在另一个地方寻找而不是"文件"吗?应用?我正在使用iPhone模拟器。
我的代码设计如下:documentFolderURL、fileURL和url调试时都是nil。
let documentFolderURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last
let ext: String = type ?? "pdf"
let name = "extrato." + ext
let fileURL = documentFolderURL?.appendingPathComponent(name)
do {
if let url = fileURL {
try file.write(to: url, options: .atomic)
}
} catch {...}
使用throw
ing API获取错误(应该没有错误)
do {
let documentFolderURL = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let ext: String = type ?? "pdf"
let fileURL = documentFolderURL.appendingPathComponent(name).appendingPathExtension(ext)
try file.write(to: fileURL, options: .atomic)
} catch { print(error) }
看起来您正在成功创建文件,但是您没有在正确的位置查找它。
你可以导航到模拟器的User Defaults文件夹:
-
打印模拟器文档目录的文件路径。
print(documentFolderURL)
应该打印类似于文件:///Users/yourname/Library/Developer/CoreSimulator/Devices/8DAF542C-4B37-41D1-BA43-1D7C2A32E585/data/Containers/data/Application/63545C94-56F5-3B11-B601-543801BE717A/Documents/ -
复制整个url除了前导文件://(换句话说,从/User/yourname开始)…
-
打开macbook的Finder应用程序,按命令+g +。这将使你……(请击鼓)……
-
粘贴url以导航到模拟器的文档目录。
你的文件应该在那里:)