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

use*_*936 8 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) }
Run Code Online (Sandbox Code Playgroud)

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

Iva*_*lov 27

尝试

fileURL.startAccessingSecurityScopedResource()
//...
fileURL.stopAccessingSecurityScopedResource()
Run Code Online (Sandbox Code Playgroud)

  • 这解决了我在启动时尝试获取文件的数据内容时的错误。 (3认同)

Mat*_*t_S 5

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

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