Ios 以编程方式创建目录

Ios 以编程方式创建目录,ios,objective-c,nsfilemanager,Ios,Objective C,Nsfilemanager,我想在applicationSupportDirectory中创建一个目录。我的理解是applicationSupportDirectory不允许用户查看其中的数据。这就是我选择它的原因。然而,我在下面使用的代码似乎失败了,我不知道为什么 谁能告诉我我做错了什么?谢谢 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); NSStr

我想在applicationSupportDirectory中创建一个目录。我的理解是applicationSupportDirectory不允许用户查看其中的数据。这就是我选择它的原因。然而,我在下面使用的代码似乎失败了,我不知道为什么

谁能告诉我我做错了什么?谢谢

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,   NSUserDomainMask, YES);
NSString *applicationDirectory = [paths objectAtIndex:0]; // Get directory
NSString *dataPath = [applicationDirectory stringByAppendingPathComponent:@"drawings"];

if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]){

NSError* error;
if([[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error])
  ;// success
else
{
  NSLog(@"Failed");
}
}
}

希望它能帮助你试试这个,它对我有用

NSString* documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                              NSUserDomainMask,
                                                              YES)[0];
NSString *folder = [documentsPath stringByAppendingPathComponent:@"foldername"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = nil;
if (![fileManager fileExistsAtPath:folder]){
    [fileManager createDirectoryAtPath:folder
           withIntermediateDirectories:YES
                            attributes:nil
                                 error:&error];
}
创建目录

NSError *error;
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support/directoryname"];
NSLog(@"%@",path);
if (![[NSFileManager defaultManager] fileExistsAtPath:path]) {
    [[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
    // Set do not backup attribute to whole folder

}

请更改中间目录:“是”这个答案实际上更好。它只在目录不存在时创建目录。竖起大拇指!
NSError *error;
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Application Support/directoryname"];
NSLog(@"%@",path);
if (![[NSFileManager defaultManager] fileExistsAtPath:path]) {
    [[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
    // Set do not backup attribute to whole folder

}