У меня вопрос, я не могу заставить свою базу данных sqlite работать/открываться на устройстве ipad. Все работает отлично на симуляторе, но не в реальном устройстве. Я помещал MODE в NO, когда я хочу протестировать устройство, но он не загружается.sqlite работает на симуляторе, но не на устройстве
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 получается:
DatabasePath = [[NSBundle mainBundle] pathForResource: @ "VRDB" OfType: @ "Sqlite"];
Есть ли что-то, что я пропустил ?????
awlcs: Самый лучший способ, если вы собираетесь создать записываемый базу данных, было бы получить путь к документам каталог и использовать это. Вы можете и должны делать это безоговорочно, независимо от того, работаете ли вы на Симуляторе или нет. В самом деле, я бы предложил не создавать никаких различий между поведением Симулятора и поведением устройства, чем вы в любом случае сталкиваетесь. –
Спасибо вам обоим, я попробую. Я думал, что использовать NSBundle было бы достаточно, но я был неправ :) – awlcs