iOS 中 FileManager 的内容在哪里?
Posted
技术标签:
【中文标题】iOS 中 FileManager 的内容在哪里?【英文标题】:Where are the contents of FileManager in iOS? 【发布时间】:2019-05-18 09:02:10 【问题描述】:我使用下面的 swift 代码在我的 ios 应用程序中创建了一个文件。
let localFileName = String("file.rtf")
let text = String(“file contents”)
if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
let fileURL = dir.appendingPathComponent(localFileName)
do
try text.write(to: fileURL, atomically: false, encoding: .utf8)
catch
do
let text2 = try String(contentsOf: fileURL, encoding: .utf8)
print("Read from file \(text2)")
catch
此代码正在运行,返回 true 并且正在打印创建文件的内容,表明文件已成功创建。 问题是在哪里可以找到创建的文件?那个文件在哪里?在没有代码的情况下在 iPhone 中哪里可以找到该文件?
【问题讨论】:
使用 Xcode 的“设备”下载“容器”。见***.com/a/38064225/1271826 【参考方案1】:假设您要列出文档目录中的文件:
func listFiles()
let fileManager = FileManager.default
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
do
guard let items = try fileManager.contents(atPath: path) else
print("no files found")
return
for item in items
print("File: \(item)")
catch
print("error")
【讨论】:
我是说,在 iPhone 中哪里可以找到保存的文件,无需代码。 看看这个:***.com/a/25305782/784715 你可以使用 iFunbox 或 iTunes 来查看这些文件【参考方案2】:iOS 中的可用目录
static let documents = try? FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
static let library = try? FileManager.default.url(for: .libraryDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
static let downloads = try? FileManager.default.url(for: .downloadsDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
static let user = try? FileManager.default.url(for: .userDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
static let cache = try? FileManager.default.url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
【讨论】:
以上是关于iOS 中 FileManager 的内容在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
ios FileManager在重建应用程序时丢失存储的数据
iOS 文件操作:沙盒(SandBox)文件操作(FileManager)程序包(NSBundle)
iOS 13 - FileManager url(forPublishingUbiquitousItemAt:expiration:) 不再工作