Невозможно создать папку внутри каталога документов

Я разработал приложение для iPhone, в котором я застрял в какой-то момент,

Что я хочу сделать, так это скопировать свою базу данных из bundle в folder inside document directory.

Когда я пытаюсь создать папку внутри DocDir, она не создается и показывает ошибку,

Не удалось создать файл MyDB.sql с сообщением «Операция не может быть завершена. (Ошибка какао 4.)

Вот мой фрагмент кода,

    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
    NSString *documentsDir = [[paths objectAtIndex:0] stringByAppendingString:@"/NewFolder/"];

    NSString *dbPath = [documentsDir stringByAppendingPathComponent:@"MyDB.sql"];
    BOOL success = [fileManager fileExistsAtPath:dbPath];

    if(!success) {

        NSString *defaultDBPath = [[NSBundle mainBundle] pathForResource:@"MyDB" ofType:@"sql"];

        success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];

        if (!success)
            NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
    }

Где я делаю ошибку? пожалуйста помоги

Заранее спасибо.


person Krunal    schedule 30.07.2014    source источник
comment
Вы уже гуглили этот код ошибки?   -  person duci9y    schedule 30.07.2014
comment
возможный дубликат добавить отдельный файл .sqlite в проект ios   -  person Naga Mallesh Maddali    schedule 30.07.2014
comment
Да, но столкнулся с той же проблемой даже после того, как попробовал новый код, который я получил от Google.   -  person Krunal    schedule 30.07.2014
comment
код ошибки. Вы искали, что означает ошибка Cocoa 4?   -  person duci9y    schedule 30.07.2014


Ответы (1)


Попробуйте создать каталог, следуя коду, может вам помогут..

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/YourFolder"];

if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])//Check
    [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Will Create folder
person Ashish Kakkad    schedule 30.07.2014