画像を保存する私の機能は次のとおりです。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)")
}
、その後、私は、ファイルを作成する呼び出すと、私はfalseを返しますが毎回この
let path = "/SpotCheck_\(spot.name)_Photo\(indx).jpg"
PhotoManager.savePhoto(with: path, image: photo)
ようにそれをされて呼んでいると写真が保存されません。
EDIT:問題は、picturesDirectoryではなくdocumentDirectoryである必要がある2行目です。以下に示すように、
let path = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true))[0]
このiOSまたはmacOSですか?なぜ 'Data write'メソッドの代わりに' FileManager'を使うのですか? – rmaddy
サンドボックスの設定を確認しましたか? – Bob
これはiOS用のもので、使用する方法(ファイルマネージャまたは書き込み)が不明でした。私は書き込みメソッドが私が望むことをするかどうかを見てみることができますが、ファイルマネージャがうまくいかない理由を知っていますか?また、ある方法を他の方法よりも使用する理由もあります。 – LoganHenderson