我在实际设备上的文件系统上有问题
i have an issue on the file System on the actual device
我的问题是当我尝试将图像从照片库复制到文件系统时出现错误,错误是
(Error Domain=NSCocoaErrorDomain Code=257 "The file “IMG_0926.JPG”
couldn’t be opened because you don’t have permission to view it."
UserInfo={NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0926.JPG,
NSUnderlyingError=0x15649630 {Error Domain=NSPOSIXErrorDomain Code=1
"Operation not permitted"}})
我的代码是:
let fileManager = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let document = fileManager[0]
var i = 0
for asset in arrayOfAssets {
let filePath = document.appendingPathComponent("image\(arrayOfAssets.count + i).png")
i += 1
PHImageManager.default().requestImageData(for: asset, options: nil) { (data, nil, _ , info) in
let url = info?["PHImageFileURLKey"] as! NSURL
do {
try FileManager.default.copyItem(at: url as URL, to: filePath)
}catch {
print(error)
}
// print(filePath)
}
}
如果有人能帮助我请
谢谢大家
听起来您正在尝试打开位于此处的文件:NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0926.JPG
默认情况下不允许访问此目录,出于安全原因,您只能访问位于文档目录中的文件。
我在您的代码中找不到这个 URL 的来源,但根据 NSError,您正在尝试访问文件系统允许区域之外的图像。
iOS11.
请检查 plist 中照片库的权限选项
您还可以将数据保存在 TEMP 目录中,并在需要时和使用后获取它
清理 TEMP 目录中的数据。
我的问题是当我尝试将图像从照片库复制到文件系统时出现错误,错误是
(Error Domain=NSCocoaErrorDomain Code=257 "The file “IMG_0926.JPG” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0926.JPG, NSUnderlyingError=0x15649630 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}})
我的代码是:
let fileManager = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let document = fileManager[0]
var i = 0
for asset in arrayOfAssets {
let filePath = document.appendingPathComponent("image\(arrayOfAssets.count + i).png")
i += 1
PHImageManager.default().requestImageData(for: asset, options: nil) { (data, nil, _ , info) in
let url = info?["PHImageFileURLKey"] as! NSURL
do {
try FileManager.default.copyItem(at: url as URL, to: filePath)
}catch {
print(error)
}
// print(filePath)
}
}
如果有人能帮助我请
谢谢大家
听起来您正在尝试打开位于此处的文件:NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0926.JPG
默认情况下不允许访问此目录,出于安全原因,您只能访问位于文档目录中的文件。
我在您的代码中找不到这个 URL 的来源,但根据 NSError,您正在尝试访问文件系统允许区域之外的图像。
iOS11.
请检查 plist 中照片库的权限选项您还可以将数据保存在 TEMP 目录中,并在需要时和使用后获取它
清理 TEMP 目录中的数据。