在iOS 9+中,任何从文件读取的尝试都会得到零。本例中的文件是图像文件路径。
使用
NSData(contentsOfFile: stringpath, options: NSDataReadingOptions.DataReadingUncached)或
NSData(contentsOfFile: stringpath)操作:
我已经从路径中删除了"file://“”,它现在有了一个权限问题。
错误Domain=NSCocoaErrorDomain Code=257“文件”“IMG_0048.JPG”无法打开,因为您没有查看它的权限。UserInfo={NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0048.JPG,NSUnderlyingError=0x13f978f50 {错误Domain=NSPOSIXErrorDomain Code=1“不允许操作”}
我添加了NSAllowArbitraryLoads并将其设置为true。
我尝试使用"NSSearchPathDirectory“查找文件,但是路径不匹配。
发布于 2016-07-03 03:36:17
我遇到了这个错误,因为我试图访问同一个块中的多个文件。对我起作用的修复方法是更改代码结构,以便获取每个文件url,然后从其中读取,然后尝试获取下一个文件url。
发布于 2015-11-02 14:35:28
您很可能会收到此错误,因为iOS应用程序只能访问沙箱中的文件。有关详细信息,请参阅文件系统上的Apple 文档。
发布于 2017-01-07 02:22:17
在您的应用程序中,您没有访问/var/mobile/Media/DCIM/100APPLE/IMG_0048.JPG文件的权限,因为使用了沙箱。
因此,无论您做什么,都不能用文件路径初始化NSData或UIImage。但是您可以使用/var/mobile/Media/DCIM/100APPLE/xxx.mov访问AVURLAsset文件。在我的应用程序中,我通过Photos从图片库提取数据而不是URL,并使用数据初始化了UIImage。
PHImageManager.default().requestImageData(
for: assetObject!, options: options,
resultHandler: {
data, _, _, _ in
if data != nil {
self.assetUrl = movieMaker.createMovieFrom(imageData: data!, duration: Int(CXPreparetValue.imageDuration))
}
})这对我有用!如果你有其他意见,请告诉我。
https://stackoverflow.com/questions/33478142
复制相似问题