在应用程序组容器中创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) }
-
检查您是否启用“应用程序组”权利。 可以从项目 – >function – >应用程序组 – >开启 。
-
添加应用程序组标识符“group.com.companyName.exampleApp” ,如上图所示。
-
现在您可以使用指定的标识符访问应用程序组容器。
让appIdentifier =“group.com.companyName.exampleApp” 让fileManager = NSFileManager.defaultManager() 让容器= fileManager.containerURLForSecurityApplicationGroupIdentifier(appIdentifier)
-
如果您正确设置所有内容,您将在“容器”中获得一个URL地址。
-
现在,
做{ 如果让容器=容器{
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