Как сохранить загруженный файл как доступный только для чтения в iOs - PullRequest
1 голос
/ 23 марта 2012

В своем приложении для iPhone я загружаю несколько бинарных файлов.Я хочу хранить эти файлы в локальной папке на устройстве.А также я хочу сделать эти файлы доступными только для чтения / скрытыми.Является ли это возможным?Так что я могу дать больше безопасности для файлов.Есть ли способ реализовать это?Пожалуйста, дайте мне несколько хороших объяснений и несколько примеров кода.Спасибо

Ответы [ 3 ]

1 голос
/ 23 марта 2012
+(BOOL)saveFile2DocDirectory:(NSData*)recievedData:(NSString*)moduleNam   {

NSString *location=[NSString stringWithFormat:@"%@",moduleNam];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fPath = [documentsDirectory stringByAppendingPathComponent:location];

//NSMutableDictionary *courseInfoDict=[[NSMutableDictionary alloc]init];


return [recievedData writeToFile:fPath options:NSDataWritingFileProtectionComplete error:nil];


}

// Эта функция поможет вам.

1 голос
/ 23 марта 2012

Все файлы, созданные в вашем приложении, будут доступны только вашему приложению.

но вы можете установить его неизменным, я не знаю, как это вам поможет.

NSDictionary* att = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithBool:YES], nil] forKeys:[NSArray arrayWithObjects:@"NSFileImmutable", nil]];
[filemgr createDirectoryAtPath:@"YourPath" withIntermediateDirectories:YES attributes:nil error:nil];
[filemgr createFileAtPath:@"YourPath/yourFile.txt" contents:data attributes:att];
1 голос
/ 23 марта 2012

Вы можете установить разрешения POSIX для файлов, используя NSFileManager, используя метод:

- (BOOL)setAttributes:(NSDictionary *)attributes ofItemAtPath:(NSString *)path error:(NSError **)error

Я не уверен, насколько это на самом деле дает вам безопасность. Каждое приложение iOS имеет свою собственную изолированную программную среду, единственное приложение, которое может касаться ваших файлов отдельно от системы, - ваше. Таким образом, вы защищаете файл только от себя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...