Я установил SQLCipher через модуль pod. но я получаю эту ошибку, говоря Нет такой функции: sqlcipher_export . Я использовал FMDB и для SQLCipher я использую его подспец, то есть FMDB / sqlcipher. Я добавил
#import <SQLCipher/sqlite3.h>
ниже мой код:
NSString *docsDir;
NSArray *dirPaths;
dirPaths = NSSearchPathForDirectoriesInDomains
(NSApplicationSupportDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];
databasePath = [[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent: @"MyDB.db"]];
NSString *encryptDB = [docsDir stringByAppendingPathComponent:@"MyDB_enc.db"];
const char* sqlQ = [[NSString stringWithFormat:@"ATTACH DATABASE '%@' AS MyDB_enc KEY 'test123';",encryptDB] UTF8String];
//sqlite3 *unencrypted_DB;
if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
// Attach empty encrypted database to unencrypted database
sqlite3_exec(database, sqlQ, NULL, NULL, NULL);
// export database
sqlite3_exec(database, "SELECT sqlcipher_export('MyDB_enc');", NULL, NULL, NULL); //gives error
// Detach encrypted database
sqlite3_exec(database, "DETACH DATABASE MyDB_enc;", NULL, NULL, NULL);
sqlite3_close(database);
}
else {
sqlite3_close(database);
NSAssert1(NO, @"Failed to open database with message '%s'.", sqlite3_errmsg(database));
}
databasePath = [docsDir stringByAppendingPathComponent:@"MyDB_enc.db"];
Может кто-нибудь подсказать мне, как решить эту проблему