J'ai une question, je ne peux pas obtenir ma base de données sqlite pour travailler/ouvrir sur un appareil ipad. Tout fonctionne bien sur le simulateur mais pas un vrai appareil. Je mets MODE à NO quand je veux tester sur un appareil mais il ne parvient pas à charger.sqlite fonctionne sur simulateur, mais pas sur l'appareil
sqlite3 *database;
if (MODE) { //Simulator
result = sqlite3_open("/Users/userID/Myapp/VRdb.sqlite", &database);
} else { // On device
result = sqlite3_open([databasePath UTF8String], &database);
}
if(result != SQLITE_OK)
{
sqlite3_close(database);
view = [[UIAlertView alloc]
initWithTitle: @"Database Error"
message: @"Failed to open database."
delegate: self
cancelButtonTitle: @"OK" otherButtonTitles: nil];
[view show];
[view autorelease];
}
databasePath est obtenu par:
databasePath = [[NSBundle mainBundle] pathForResource: @ "VRDB" ofType: @ "sqlite"];
Y a-t-il quelque chose qui m'a manqué ?????
awlcs: La meilleure façon, si vous avez l'intention de créer une base de données accessible en écriture, serait d'obtenir le chemin vers les documents répertoire et l'utiliser. Vous pouvez et devez le faire inconditionnellement, sans tenir compte du fait que vous utilisez le simulateur ou non. En effet, je suggère de ne pas créer plus de différences entre le comportement du simulateur et le comportement de l'appareil que vous ne le feriez de toute façon. –
Merci à vous deux, je vais essayer. Je pensais que l'utilisation de NSBundle aurait été suffisant mais j'avais tort :) – awlcs