如何在iOs中将下载的文件另存为只读

时间:2012-03-23 10:50:03

标签: iphone ios download readonly hidden-files

在我的iPhone应用程序中,我正在下载一些二进制文件。我想将这些文件存储在设备的本地文件夹中。而且我想将这些文件设为只读/隐藏。可能吗?这样我就可以为文件提供更多安全性。有没有办法实现这个?请给我一些很好的解释也一些代码示例。 感谢

3 个答案:

答案 0 :(得分:1)

您可以使用NSFileManager使用以下方法设置文件的POSIX权限:

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

我不确定这实际上给你带来了多少安全性。每个iOS应用程序都有自己的沙箱,唯一可以触摸您的文件而不是系统的应用程序是您的。所以你只是保护自己的文件。

答案 1 :(得分:1)

+(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];


}

//此功能可以帮助你。

答案 2 :(得分:1)

您在应用中创建的所有文件只能由您的应用访问。

但你可以将它设置为不可变,我不知道它会如何帮助你。

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];