我在创建我的db文件时遇到问题。我使用这个功能:iPhone不会创建sqlite db文件
- (void)createEditableCopyOfDatabaseIfNeeded {
// Testing for existence
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:DATABASE_NAME];
NSLog(@"%@", writableDBPath);
success = [fileManager fileExistsAtPath:writableDBPath];
if (success) {
NSLog(@"The file was here");
return;
}
// The writable database does not exist, so copy the default to
// the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:DATABASE_NAME];
success = [fileManager copyItemAtPath:defaultDBPath
toPath:writableDBPath
error:&error];
NSLog(@"New file created");
if(!success)
{
NSAssert1(0,@"Failed to create writable database file with Message : '%@'.",
[error localizedDescription]);
}
}
执行此总是生成日志“创建新的文件”,但如果我点我的取景器到数据库路径我找到一个空文件夹:没有创建文件!
你认为什么问题?
(我有使用相同功能的其他应用程序,效果很好!)
UPDATE:
如果我用“转到文件夹”取景器的功能,并在defaultDBPath
粘贴,它告诉我我没有访问文件夹所需的权限
什么是DATABASE_NAME的字符串值? – 2011-02-26 11:32:12
#define DATABASE_NAME @“villaggio.db” – Abramodj 2011-02-26 11:36:39