[英]ios 6 sqlite with fmdb not working on iPhone
我正在使用FMDB使用sqlite db構建應用程序,
在模擬器上一切正常,在越獄的iPhone上一切正常,但是在具有開發者帳戶的idevice上,出現此錯誤
error opening!: 14
我這樣創建數據庫
NSString *bundelpath = [[NSBundle mainBundle]bundlePath];
[FMDatabase databaseWithPath:[bundelpath stringByAppendingFormat:@"/database.db"]];
SQLite嘗試在實際設備上完全沙盒化的應用程序中只讀的位置打開具有讀/寫權限的文件。
Apple的本文檔說明了可以寫和不能寫的地方。
您最有可能希望使用<Application_Home>/Documents/
作為路徑。
該模擬器無需額外的沙箱即可運行,並且其中運行的應用程序能夠在開發主機的文件系統中的任何位置進行寫入。
大概您的越獄也擊敗了應用程序沙箱。
Marko是對的。 這是獲取文檔目錄的正確方法。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.