背景:我一直在观看 WWDC 2011 - 208 保护 iOS 应用程序。他们提到了如何使用称为 NSFileProtection 的文件加密来保护我们的数据。虽然我发现提到的自动方法 (@38:00) 有问题,但我希望手动方法 (@37:00) 没有。我尝试对图像使用文件保护,一切都很好。只有我无法创建的 Sqlite。
问题:我尝试创建 SQLite3 数据库(没有核心数据)并作为第三个参数的标志sqlite3_open_v2
传递。SQLITE_OPEN_FILEPROTECTION_COMPLETE
它不返回SQLITE_OK
。
代码:
if (sqlite3_open_v2([databasePath UTF8String], &database, SQLITE_OPEN_FILEPROTECTION_COMPLETE, NULL) == SQLITE_OK){
//everything works
}else{
//failed
}
更新:
正如 borrrden 所提到的,两者都导致了以下错误代码:(
SQLITE_MISUSE
库使用不正确)
更新 2: borrrden 的第二条评论指出两个标志的需要是正确的。它按照以下代码工作:
if (sqlite3_open_v2([databasePath UTF8String], &database, SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE|SQLITE_OPEN_FILEPROTECTION_COMPLETE, NULL) == SQLITE_OK)