2010-09-17 5 views
1

J'utilise la fonction "famous" :) createEditableCopyOfDatabaseIfNeeded pour créer une copie éditable de mon db dans une application iphone .. La fonction copie la base de données originale dans le répertoire de documents seulement s'il n'y a pas déjà une copie de la db .. assez simple .. mais maintenant je suis en difficulté parce que je ne sais pas pourquoi mais avec SDK 3.2.3 dans iOS 4.1 la fonction copie mon db .... VIDE !!!createEditableCopyOfDatabaseIfNeeded crée une copie vide de db!

Voici le code:

- (void)createEditableCopyOfDatabaseIfNeeded 
{ 
    // First, test 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:@"funghi.sql"]; 
    success = [fileManager fileExistsAtPath:writableDBPath]; 
    if (success) return; 
    // The writable database does not exist, so copy the default to the appropriate location. 
    NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"funghi.sql"]; 
    success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error]; 
    if (!success) { 
     NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]); 
    } 
} 

Le db est complète et correcte! Je peux lire la base de données originale avec le plugin sqlite de firefox! Toute aide?

Merci beaucoup!

Répondre

2

Aux fins de test uniquement:

Essayez de supprimer d'abord la base de données existante. Je devine que pendant que vous étiez en train d'écrire du code et de déboguer, vous avez exécuté votre application avant que cette routine n'existe. SQLite aurait créé une base de données vide pour vous.

+0

Ou simplement supprimer l'application entière du téléphone. –

Questions connexes