1

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

4

3 回答 3

2

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

但是您可以将其设置为不可变,我不知道它将如何帮助您。

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];
于 2012-03-23T11:42:44.760 回答
1

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

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

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

于 2012-03-23T11:01:58.167 回答
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];


}

//这个函数会帮助你。

于 2012-03-23T11:09:37.293 回答