嗨,我使用此SQLCipher(http://sqlcipher.net/ios-tutorial/)加密sqlite,但是在编译时遇到此错误

 "_sqlite3_key", referenced from:

 -[LCAppDelegate application:didFinishLaunchingWithOptions:] in LCAppDelegate.o

 Symbol(s) not found for architecture i386

当我在AppDelegate中使用此代码时发生了
#import <sqlite3.h>

    ...
    NSString *databasePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
                              stringByAppendingPathComponent: @"sqlcipher.db"];
    sqlite3 *db;
    if (sqlite3_open([databasePath UTF8String], &db) == SQLITE_OK) {
        const char* key = [@"BIGSecret" UTF8String];
        sqlite3_key(db, key, strlen(key));
        if (sqlite3_exec(db, (const char*) "SELECT count(*) FROM sqlite_master;", NULL, NULL, NULL) == SQLITE_OK) {
            // password is correct, or, database has been initialized

        } else {
            // incorrect password!
        }

        sqlite3_close(db);
    }

有人知道如何解决吗?请帮我 !!!

最佳答案

您没有为i386编译它-查看教程

将i386添加到有效拱门和要建立的拱门中。

=>只有模拟器是i386

关于ios - 找不到体系结构i386的“_sqlite3_key”符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22512614/

10-13 07:44