SQLCipher:使用未解析的标识符' sqlite3_key'

时间:2016-04-26 13:47:19

标签: ios swift sqlcipher

应用程序正在编写Swift,SQLCipher安装并尝试在不使用数据库的情况下编译应用程序,它运行良好,但是当我尝试使用sqlite3_key时,它会出错:使用未解析的标识符' sqlite3_key&#39 ;

我在CFLAGS中定义了-DSQLITE_HAS_CODEC并在bridgeHeader.h中添加了#import

任何人都可以帮忙解决这个错误吗?

感谢。

3 个答案:

答案 0 :(得分:0)

在您的桥接标题中,您需要在导入sqlite3.h之前添加它:

#define SQLITE_HAS_CODEC 1

来源:https://discuss.zetetic.net/t/use-of-unresolved-identifier-sqlite3-key/1305/10

答案 1 :(得分:0)

确保已在名称为“ YourProjectName-Bridging-Header.h”的“构建设置”目标C桥接头中添加了

答案 2 :(得分:0)

尽管这是一个很老的问题,但仍然会有人会遇到相同的问题。 问题出在SQLCipher文档

  

在桥接标题中,添加#import <sqlite3.h>

这实际上是错误的陈述,您应该添加#import "sqlite3.h"。由于XCode默认还带有sqlite3模块,因此如果使用菱形括号导入它,它将使用XCode中的默认模块。默认的没有加密功能,这就是为什么您不能使用sqlite3_key()和相关功能的原因。