没有这样的文件或目录,NSFilePath =〜/ Library

时间:2016-01-22 14:18:26

标签: ios swift sandbox nsfilemanager nslibrarydirectory

当我运行以下代码段

时,会引发以下引用错误
fileManager.contentsOfDirectoryAtPath(libraryPath)

错误

  

错误域= NSCocoaErrorDomain代码= 260“操作不可能   完成。 (可可错误260.)“UserInfo = 0x17585bf0   {NSUnderlyingError = 0x175706b0“操作无法完成   这样的文件或目录“,NSFilePath =〜/ Library,NSUserStringVariant =(       文件夹)}

以下是我使用的完整代码段,以防万一有人想尝试

   func listLibDir(){

        let libraryPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, false).first!

        let fileManager: NSFileManager = NSFileManager.defaultManager()

        do{
            var directoryContent:Array<String> = try fileManager.contentsOfDirectoryAtPath(libraryPath)

            for fileName: String in directoryContent {
                print("library:\(fileName)")
            }
        }
        catch{
            print(error)
        }

    }

如果有人能够澄清为什么会发生这种错误并提出解决方案,那么它会很棒

1 个答案:

答案 0 :(得分:2)

在您的代码中:

let libraryPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, false).first!

将权限设置为true

let libraryPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomainMask.UserDomainMask, true).first