2010-05-04 2 views
0

Pourquoi cela fonctionnerait bien sur le simulateur de l'iPhone ... mais la base de données ne peut pas être ouvert sur un appareil iPhone?sqlite base de données s'ouvre bien sur le simulateur de l'iPhone, mais pas sur l'appareil

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); 
    } 
} 

Répondre

1

Si la base de données n'existe pas encore et que vous utilisez la capacité de SQLite pour créer la base de données sur la première référence, le chemin du fichier doit pointer vers le répertoire de documents de l'iPhone (ou tmp) puisque vous pouvez écrire le répertoire de l'ensemble d'applications dans le simulateur mais pas sur l'appareil en raison des autorisations. C'est la seule chose qui me saute aux yeux comme évidemment différente entre les deux ce qui affecterait le code SQLite.

+0

Ugh ... J'ai oublié ça. Laissez-moi vérifier ... mais je parie que c'est tout. – Susanna

Questions connexes