У меня проблема с созданием моего файла базы данных.Я использую эту функцию:
- (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]);
}
}
Выполнение этого всегда генерирует журнал «Новый файл создан», но если я указываю свой искатель на путь к БД, я нахожу пустую папку: файл не был создан!
В чем проблема, по вашему мнению?
(у меня есть другое приложение, использующее ту же функцию, и оно работает хорошо!)
ОБНОВЛЕНИЕ:
Еслия использую функцию «перейти в папку» в поиске и вставке в defaultDBPath
, она говорит мне, что у меня нет привилегий, необходимых для доступа к папке