Swift代码生成的users.json文件找不到,求助文件位置
解决Swift JSON文件找不到的问题
先排查两个关键问题:
代码是否实际执行了写入操作?
你可以在代码中添加一行打印路径的语句,直接获取文件的精准位置:do { let data = try encoder.encode(users) let url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("users.json") // 新增打印路径的代码 print("文件保存路径:\(url)") try data.write(to: url) } catch { print("Error encoding JSON: \(error)") }运行代码后,复制控制台输出的完整路径,在访达的「前往 > 前往文件夹」中粘贴,就能直接打开文件所在位置。
UserCredentials是否遵循Codable协议?
你的代码未给出UserCredentials的定义,如果这个结构体/类没有实现Codable(或Encodable),encoder.encode(users)会直接抛出错误,进入catch分支,根本不会生成文件。请确保它符合编码要求:struct UserCredentials: Codable { // 示例属性,根据你的实际需求调整 var username: String var password: String }
不同设备的路径获取方式:
- 模拟器:
打印出的路径指向当前模拟器的应用沙箱Documents目录,直接复制路径到访达打开即可。 - 真机:
无法直接访问沙箱,需通过Xcode操作:- 打开Xcode,点击顶部菜单「Window > Devices and Simulators」
- 左侧选中你的真机,找到对应应用,点击「Download Container」
- 右键下载的.xcappdata文件,选择「显示包内容」,就能找到
Documents目录下的users.json
内容的提问来源于stack exchange,提问作者axandrei1234
相关产品推荐
相关产品推荐

