首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 9读取文件权限

iOS 9读取文件权限
EN

Stack Overflow用户
提问于 2015-11-02 12:57:40
回答 4查看 6K关注 0票数 9

在iOS 9+中,任何从文件读取的尝试都会得到零。本例中的文件是图像文件路径。

使用

代码语言:javascript
复制
NSData(contentsOfFile: stringpath, options: NSDataReadingOptions.DataReadingUncached)

代码语言:javascript
复制
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“查找文件,但是路径不匹配。

EN

回答 4

Stack Overflow用户

发布于 2016-07-03 03:36:17

我遇到了这个错误,因为我试图访问同一个块中的多个文件。对我起作用的修复方法是更改代码结构,以便获取每个文件url,然后从其中读取,然后尝试获取下一个文件url。

票数 4
EN

Stack Overflow用户

发布于 2015-11-02 14:35:28

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

票数 1
EN

Stack Overflow用户

发布于 2017-01-07 02:22:17

在您的应用程序中,您没有访问/var/mobile/Media/DCIM/100APPLE/IMG_0048.JPG文件的权限,因为使用了沙箱。

因此,无论您做什么,都不能用文件路径初始化NSDataUIImage。但是您可以使用/var/mobile/Media/DCIM/100APPLE/xxx.mov访问AVURLAsset文件。在我的应用程序中,我通过Photos从图片库提取数据而不是URL,并使用数据初始化了UIImage

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33478142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档