提问者:小点点

iOS 9读取文件权限


在iOS9+中,任何尝试读取文件的操作都是零。本例中的文件是映像文件路径。br>使用

NSData(contentsOfFile: stringpath, options: NSDataReadingOptions.DataReadingUncached)

NSData(contentsOfFile: stringpath)

操作:br>我已从路径中删除“file://”,它现在存在权限问题。br>

错误domain=nscocoaerrordomain code=257“无法打开文件img_0048.jpg,因为您没有查看该文件的权限。”UserInfo=nsFilePath=/var/mobile/media/dcim/100apple/img_0048.jpg,NsUnderlyingError=0x13F978F50 Error Domain=nsPosixErrordomain Code=1“不允许操作}

我已添加并将其设置为true.br>我已尝试使用“nssearchPathDirectory”自行查找该文件,但路径无论如何都不匹配br>


共3个答案

匿名用户

我遇到此错误是因为我试图访问同一块中的多个文件。对我有效的修复方法是更改代码结构,以便在尝试获取下一个文件url之前,先获取每个文件url,然后从其中读取。

匿名用户

您很可能会出现此错误,因为iOS应用程序只能访问其沙箱中的文件。有关详细信息,请参阅Apple文件系统文档。

匿名用户

在您的应用程序中,由于使用沙箱,您没有访问文件的权限。

因此,无论您做什么,都不能用文件路径初始化。但是您可以使用访问文件。在我的应用程序中,我从gallery by Photos工具包中提取了数据而不是URL,并用数据初始化了

PHImageManager.default().requestImageData(
    for: assetObject!, options: options,
    resultHandler: {
        data, _, _, _ in
        if data != nil {
            self.assetUrl = movieMaker.createMovieFrom(imageData: data!, duration: Int(CXPreparetValue.imageDuration))
        }
})

对我有用!如果你有其他意见,请告诉我。