2010-05-04 59 views
0

爲什麼這將在iPhone模擬器上運行良好...但數據庫不能在iPhone設備上打開 ?sqlite數據庫在iPhone模擬器上打開罰款,但不是在設備上

sqlite3 *g_Db = nil; 

BOOL OpenDatabase(NSString *databaseName) 
{ 
    if(sqlite3_open([databaseName UTF8String], &g_Db) == SQLITE_OK) 
    { 
     NSLog(@"Opened db ok"); 
     return(YES); 
    } 
    else 
    { 
     NSLog(@"Can't open the db"); 
     sqlite3_close(g_Db); 
     g_Db = nil; 
     return(NO); 
    } 
} 

回答

1

如果數據庫尚不存在,你正在使用SQLite的創造上第一參考數據庫的能力,然後將文件路徑必須指向iPhone的文檔目錄(或TMP),因爲你可以寫信給應用程序包目錄在模擬器中,但由於權限而不在設備上。這是我跳出來的唯一明顯不同,它會影響SQLite代碼。

+0

呃...我忘了那個。讓我檢查......但我敢打賭就是這樣。 – Susanna 2010-05-04 01:37:46

相關問題