我正在使用SQLite数据库制作ipad App。
我希望能够从iTunes添加.sqlite文件以自由添加db文件并返回user_data。
所以,我必须将文件保存在/ Documents文件夹中。
然后,我有一个问题。
我不想在iTunes中显示某些数据库文件。 - (例如用户备忘录数据库)
我该怎么办?
答案 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];