无法打开文件“”,因为您无权查看它

时间:2016-04-01 11:23:22

标签: ios swift

我正在将文件下载到文件夹,我正在验证该文件确实存在于代码中,但是我收到了上述错误。有人可以帮我弄清楚为什么我没有权限阅读这个文件吗?

    let documentsURL = NSSearchPathForDirectoriesInDomains
           (.DocumentDirectory, .UserDomainMask, true)[0]

    let checkValidation = NSFileManager.defaultManager()

    if (checkValidation.fileExistsAtPath(documentsURL))
    {
        print("FILE AVAILABLE");
    }
    else
    {
        print("FILE NOT AVAILABLE");
    }

    print(documentsURL)

    do{
        let data = try String(contentsOfFile: documentsURL as String,
            encoding: NSASCIIStringEncoding)
        print(data)

    }
    catch let error { print(error) }
  

错误Domain = NSCocoaErrorDomain Code = 257“无法打开文件”Documents“,因为您无权查看它。” UserInfo = {NSFilePath = / var / mobile / Containers / Data / Application / 7FA4D6A9-2149-4053-BF08-22E94A00AE34 / Documents,NSUnderlyingError = 0x137807200 {Error Domain = NSPOSIXErrorDomain Code = 13“Permission denied”}}

3 个答案:

答案 0 :(得分:5)

您的documentsURL是您应用中Documents FOLDER的地址。您可以获取以下内容的文件:

的/ var /移动/容器/数据/应用/ 7FA4D6A9-2149-4053-BF08-22E94A00AE34 /文件

答案 1 :(得分:0)

尝试

fileURL.startAccessingSecurityScopedResource()
//...
fileURL.stopAccessingSecurityScopedResource()

答案 2 :(得分:-1)

我有同样的问题。您需要在文档文件夹中至少有一个文件,并且需要打印该文件。

我写了

var filename = self.getDocumentsDirectory().appendingPathComponent(local[i])

你需要在网址的末尾有一个文件,因为苹果不希望人们弄乱文档文件夹而不能让他们回来我想象