0
我有一个问题,我无法让我的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:@ “源码”];
有什么,我错过了吗?
awlcs:最好的办法,如果你打算创建一个可写的数据库,将得到的路径文件目录并使用它。你可以并且应该无条件地做到这一点,而不管你是否在模拟器上运行。事实上,我建议不要在模拟器行为和设备行为之间产生比你面对的更多的差异。 – 2010-07-24 02:50:12
感谢你们两位,我会试一试。我认为使用NSBundle就足够了,但我错了:) – awlcs 2010-07-26 07:28:11