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