Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Permission to create folder on iPhone

After like a half an our of digging, I've found out I don't have permission to create folders, so how do I get permission to create a folder?

[[NSFileManager defaultManager] createDirectoryAtPath:[NSString stringWithFormat:@"%@/%@",downloadLocation,kAmazonCatalogsPrefix]
                          withIntermediateDirectories:YES
                                           attributes:nil
                                                error:&error];

Error Domain=NSCocoaErrorDomain Code=513 "The operation couldn’t be completed. (Cocoa error 513.)" UserInfo=0x1f18a8b0 {NSFilePath=/var/mobile/Applications/AB570058-4E4A-41B2-9E40-5C93316D6307/eCatalogs, NSUnderlyingError=0x1f18a830 "The operation couldn’t be completed. Operation not permitted"}
like image 947
Lord Zsolt Avatar asked Dec 09 '22 13:12

Lord Zsolt


1 Answers

You cannot modify the contents of a compiled app's bundle folder. This is because the bundle is the compiled application. This prevents the possibility of malware modifying apps after install.

Files generated at run time should be saved to the either Documents, Temp or Cache folders. These folders are only accessible to your app. No other app can access the contents of these folders.

Sample Code :

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSError *error;
[[NSFileManager defaultManager] createDirectoryAtPath:[documentsDirectory stringByAppendingPathComponent:@"yourFolderName"] withIntermediateDirectories:NO attributes:nil error:&error];
like image 92
Bhavin Avatar answered Dec 11 '22 09:12

Bhavin