Integration of code
suggest changeIntegration to open database using password.
-(void)checkAndOpenDB{ sqlite3 *db; NSString *strPassword = @"password"; if (sqlite3_open_v2([[databaseURL path] UTF8String], &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) == SQLITE_OK) { const char* key = [strPassword UTF8String]; sqlite3_key(db, key, (int)strlen(key)); if (sqlite3_exec(db1, (const char*) "SELECT count(*) FROM sqlite_master;", NULL, NULL, NULL) == SQLITE_OK) { NSLog(@"Password is correct, or a new database has been initialized"); } else { NSLog(@"Incorrect password!"); } sqlite3_close(db); } } - (NSURL *)databaseURL { NSArray *URLs = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; NSURL *directoryURL = [URLs firstObject]; NSURL *databaseURL = [directoryURL URLByAppendingPathComponent:@"database.sqlite"]; return databaseURL; }
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents