Swift iOS写入Documents目录文件但iPhone端无法找到
问题解决:Swift写入Documents文件夹后Files应用无法查看
核心原因
iOS 11及后续版本中,应用的Documents目录默认不会对外暴露,即便文件写入逻辑执行成功,也无法直接在Files应用中被看到,必须通过配置Info.plist开启文件共享权限。
解决步骤
添加文件共享权限配置
打开项目的Info.plist文件,添加以下两个键值对:- 键:
UIFileSharingEnabled(对应描述:Application supports iTunes file sharing),类型设为Boolean,值改为YES - 键:
LSSupportsOpeningDocumentsInPlace(对应描述:Supports opening documents in place),类型设为Boolean,值改为YES
这两个配置分别用于允许通过Finder/iTunes共享文件,以及支持在Files应用中直接访问应用的Documents目录。
- 键:
优化文件写入代码(可选)
原代码可以简化,无需先创建空文件再通过FileHandle写入,直接使用String的write(to:)方法更简洁可靠:let docDir = URL.documentsDirectory let fileURL = docDir.appendingPathComponent("testfile.txt", conformingTo: .text) let sampleString = "test test test" do { try sampleString.write(to: fileURL, atomically: true, encoding: .utf8) print("All Good!") } catch { print("File error: \(error)") }调试验证文件状态
可以在代码中加入文件存在性检查,确认文件确实写入成功:if FileManager.default.fileExists(atPath: fileURL.path) { print("文件已创建,路径:\(fileURL.path)") } else { print("文件未创建成功") }Files应用中查看的操作要点
配置权限后重新运行应用,打开Files应用切换到「浏览」标签页,下拉刷新页面,在「我的iPhone」列表中找到你的应用名称,进入后就能看到testfile.txt文件。
内容的提问来源于stack exchange,提问作者Scott T. Miller
相关产品推荐
相关产品推荐

