Create directory programmatically

I want to create a directory inside my SupportDirectory application. I understand that applicationSupportDirectory does not allow users to see data inside. That's why I chose it. However, the code I use below seems to fail, and I'm not sure why.

Can someone tell me what I did wrong? Thanks!

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"); } } } 
+6
source share
3 answers
 NSString *directoryName = @"drawing"; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); NSString *applicationDirectory = [paths objectAtIndex:0]; NSString *filePathAndDirectory = [applicationDirectory stringByAppendingPathComponent:directoryName]; NSError *error; if (![[NSFileManager defaultManager] createDirectoryAtPath:filePathAndDirectory withIntermediateDirectories:YES attributes:nil error:&error]) { NSLog(@"Create directory error: %@", error); } 

Hope this helps you.

+5
source

Try this, it works for me.

 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]; } 
+6
source

To create a Dirtectory

 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 } 
-1
source

Source: https://habr.com/ru/post/944265/


All Articles