Как указать рабочий каталог для sqlite3_open - PullRequest
0 голосов
/ 30 июня 2011

Работая в xCode, все работает нормально, если я выполняю, дважды щелкая проект вниз в рабочем каталоге, но не в самом xCode, выполняющем Build and Run. Тогда база данных не найдена правильно.

Как мне изменить ...

 sqlite3_open("Airports.sqlite", &db);

чтобы он мог найти Аэропорты в текущем рабочем каталоге?

1 Ответ

0 голосов
/ 01 июля 2011

Скопируйте вашу базу данных в каталог приложений и после этого вы сможете использовать вашу базу данных:)

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
        NSString *dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Airports.sqlite"];

BOOL success = [fileManager fileExistsAtPath:dbPath];

if (!succes){

    NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Airports.sqlite"];
                BOOL success = [fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];

                if (!success) 
                    NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
                else
                    NSLog(@"Succesfully created writable database");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...