如何隐藏文件夹中的特定文件。

时间:2011-12-08 05:57:23

标签: ios backup itunes nsdocumentdirectory

我正在使用SQLite数据库制作ipad App。

我希望能够从iTunes添加.sqlite文件以自由添加db文件并返回user_data。

所以,我必须将文件保存在/ Documents文件夹中。

然后,我有一个问题。

我不想在iTunes中显示某些数据库文件。 - (例如用户备忘录数据库)

我该怎么办?

1 个答案:

答案 0 :(得分:2)

如果您不想向用户显示数据,可以使用以下文件夹并从用于存储的相同位置访问数据库

//访问iOS机器的ApplicationSupport文件夹

NSString *appSupportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject];

//访问应用程序的Library文件夹(即Application / appID / Library)

NSString *libraryDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];

使用以下代码将数据从一个文件夹移动到另一个文件夹:

NSFileManager *mngr = [[NSFileManager alloc] init];

NSString *ExpectedFilePath=[[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Filename.ext"];

//getting Document directory path
NSString *FilePresentAtPath=[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Filename.ext"];

 // If the database doesn't exist in our Document folder we copy it to Library (this will be executed only one time).
 if (![mngr fileExistsAtPath:ExpectedFilePath])
 {
     [mngr moveItemAtPath:FilePresentAtPath toPath:ExpectedFilePath error:NULL];
 }
[mngr release];