Search code examples
cocoamacosnsfilemanager

Objective-C: Programmatically set file privileges to current user


I working on a program that manages documents. One of the things my app does, is download document from the internet and open them. This documents I download need to be opened with Read Only privileges.

So, I was wondering if there is a way of programmatically setting the privileges of a file.

Thanks in advance.


Solution

  • In addition to chmod mentioned by @Vlad, you can also use the setAttributes:ofItemAtPath:error: method of NSFileManager with an attribute of NSFileImmutable:

    NSDictionary* attribs = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:NSFileImmutable];
    [[NSFileManager defaultManager]  setAttributes: attribs ofItemAtPath:@"/path/to/file" error:nil];