有複製從包目錄(只讀)數據庫文件,可寫的? (如每個應用程序的文檔目錄?)。
當試圖保存在設備中,你會得到像這樣的sqlite錯誤?
SQLITE_READONLY 8 /* Attempt to write a readonly database */
編輯:
所有主束的文件是隻讀的,所以如果你需要修改一個/他們中的一些,你需要將文件是可寫的一個位置複製。假設你已經調用了db mydb.sqlite,這裏有一些將db複製到文檔目錄的代碼(僅當它不存在時)。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
NSFileManager *fm = [NSFileManager defaultManager];
NSString *docPath = [docDirectory stringByAppendingPathComponent:@"mydb.sqlite"];
if (![fm fileExistsAtPath:docPath]) { // file does not exists, copy it
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"mydb" ofType:@"sqlite"];
NSError *error = nil;
BOOL res = [fm copyItemAtPath:bundlePath toPath:docPath error:&error];
if (!res) {
// do something with error
}
}
感謝您的回答朱利亞諾,不,我沒有,我恐怕我真的不知道該怎麼做? – PeterK 2011-06-06 09:39:33