База данных sqlite открывается нормально на симуляторе iPhone, но не на устройстве - PullRequest
0 голосов
/ 04 мая 2010

Почему это нормально работает на симуляторе iPhone ... но база данных не может быть открыть на устройстве iPhone?

sqlite3 *g_Db = nil;

BOOL OpenDatabase(NSString *databaseName)
{
    if(sqlite3_open([databaseName UTF8String], &g_Db) == SQLITE_OK)
    {
        NSLog(@"Opened db ok");
        return(YES);
    }
    else
    {
        NSLog(@"Can't open the db");
        sqlite3_close(g_Db);
        g_Db = nil;
        return(NO);
    }
}

1 Ответ

1 голос
/ 04 мая 2010

Если база данных еще не существует, и вы используете возможность SQLite для создания базы данных по первой ссылке, тогда путь к файлу должен указывать на каталог документов iPhone (или tmp), поскольку вы можете записывать в каталог пакета приложения. в симуляторе, но не на устройстве из-за разрешений. Это единственная вещь, которая бросается в глаза как очевидно различная между двумя, которые влияют на код SQLite.

...