在应用程序组容器中创build目录swift

我怎么能在我的应用程序的组容器中创build一个目录?

我试过使用文件pipe理器:

let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("APP_GROUP_IDENTIFIER")! 

但是这不会创build一个目录…我怎么能在这个文件夹中创build一个目录?

containerURLForSecurityApplicationGroupIdentifier将URL返回给组容器。
要创build一个目录,将新的目录名添加为path组件

 let fileManager = NSFileManager.defaultManager() if let directory = fileManager.containerURLForSecurityApplicationGroupIdentifier("APP_GROUP_IDENTIFIER") { let newDirectory = directory.URLByAppendingPathComponent("MyDirectory") try? fileManager.createDirectoryAtURL(newDirectory, withIntermediateDirectories: false, attributes: nil) } 

Swift 3:

 let fileManager = FileManager.default if let directory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "APP_GROUP_IDENTIFIER") { let newDirectory = directory.appendingPathComponent("MyDirectory") try? fileManager.createDirectory(at: newDirectory, withIntermediateDirectories: false, attributes: nil) } 
  1. 检查您是否启用“应用程序组”权利。 可以从项目 – >function – >应用程序组 – >开启在这里输入图像说明

  2. 添加应用程序组标识符“group.com.companyName.exampleApp” ,如上图所示。

  3. 现在您可以使用指定的标识符访问应用程序组容器。

    让appIdentifier =“group.com.companyName.exampleApp”
    让fileManager = NSFileManager.defaultManager()
    让容器= fileManager.containerURLForSecurityApplicationGroupIdentifier(appIdentifier)
    
  4. 如果您正确设置所有内容,您将在“容器”中获得一个URL地址。

  5. 现在,

    做{
       如果让容器=容器{
    
    
      let directoryPath = container.URLByAppendingPathComponent("sampleDirectory") var isDir : ObjCBool = false if let path = directoryPath?.path where fileManager.fileExistsAtPath(path, isDirectory:&isDir) { if isDir { // file exists and is a directory } else { // file exists and is not a directory } } else if let directoryPath = directoryPath { // file or directory does not exist try fileManager.createDirectoryAtURL(directoryPath, withIntermediateDirectories: false, attributes: nil) } } } catch let error as NSError { print(error.description) } 

礼貌:文件和目录检查代码取自https://stackoverflow.com/a/24696209/2666902