2016-01-22 19 views
1

下面引用错误被当我运行下面的代码片段没有这样的文件或目录,NSFilePath =〜/库

fileManager.contentsOfDirectoryAtPath(libraryPath) 

错误

错误域= NSCocoaErrorDomain代码= 260“抛出的(可可错误260.)“UserInfo = 0x17585bf0 {NSUnderlyingError = 0x175706b0”操作无法完成,没有 这样的文件或目录“,NSFilePath =〜/ Library,NSUserStringVariant =( 折ER)}

下面是我用以防万一,如果有人想尝试

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) 
     } 

    } 

如果有人可以解释,为什么这个错误发生,并提出一个解决方案,然后它会是完整的代码片段大

回答

2

在您的代码:

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

设置权限true

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

增添几分“为什么”的一部分....波浪线扩展通常由命令行shell做的,所以如果你传递结果到一个外部命令只是显示结果,'假'会没事的。文件管理器例程不会自动执行扩展。 –

相关问题