这里是我的功能来保存图像。NSFileManager在创建文件时失败
static func getDirectoryPath() -> String {
let path = (NSSearchPathForDirectoriesInDomains(.picturesDirectory, .userDomainMask, true))[0]
return path
}
static func savePhoto(with path: String, image: UIImage) {
let fM = FileManager.default
let path = getDirectoryPath() + path
let data = UIImageJPEGRepresentation(image, 0.5)
let success = fM.createFile(atPath: path, contents: data, attributes: nil)
print("File creation was \(success)")
}
,然后我每次调用它像这样
let path = "/SpotCheck_\(spot.name)_Photo\(indx).jpg"
PhotoManager.savePhoto(with: path, image: photo)
当我打电话创建文件返回false,照片不会被保存。
编辑:问题是需要成为documentDirectory而不是picturesDirectory的第二行。如下图所示:
let path = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true))[0]
这是iOS还是macOS?为什么使用'FileManager'而不是'Data write'方法? – rmaddy
你检查过你的沙箱配置吗? – Bob
这是针对iOS的,我不确定使用哪种方法(文件管理器或写入)。我可以尝试查看写入方法是否可以做我想做的事,但是你有什么想法为什么文件管理器不起作用?也有理由使用一种方法而不是另一种。 – LoganHenderson