這裏是我的功能來保存圖像。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