SQLite Step Failed: attempt to write a readonly database
进行数据库操作的时候,有时候会报错 SQLite Step Failed: attempt to write a readonly database也就是说你不能对你的bundle进行任何操作了,解决办法是把你的数据库建在Documents下NSString *path = [self getFullDatabasePathFromFileName:@"AppData.db"]; _database = [[FMDatabase alloc] initWithPath:path]; if ([_database open]) { [self creatTable]; }else{ DLog(@"open database:%@",[_database lastErrorMessage]); } #pragma mark - 获取数据库文件的全路径 - (NSString *)getFullDatabasePathFromFileName:(NSString *)name{ NSString *path = NSHomeDirectory(); NSString *docPath = [path stringByAppendingPathComponent:@"Documents"]; NSFileManager *fm = [NSFileManager defaultManager]; if ([fm fileExistsAtPath:docPath]) { return [docPath stringByAppendingFormat:@"/%@",name]; }else{ DLog(@"Documents不存在"); return nil; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |