如何在ios后台运行应用程序时打开sqlite数据库
我的应用程序在后台捕获位置数据并保存在sqlite数据库中。当设备未锁定时,它工作良好,但当设备锁定时,我无法访问sqlite数据库。它总是给我错误代码SQLITE_AUTH(错误代码:23)。 我尝试了以下选项:如何在ios后台运行应用程序时打开sqlite数据库,ios,database,sqlite,Ios,Database,Sqlite,我的应用程序在后台捕获位置数据并保存在sqlite数据库中。当设备未锁定时,它工作良好,但当设备锁定时,我无法访问sqlite数据库。它总是给我错误代码SQLITE_AUTH(错误代码:23)。 我尝试了以下选项: 禁用数据保护功能。(不起作用) 根据,我尝试了以下代码: sqlite3_open_v2([dbPath UTF8String],&myDatabase,SQLITE_open_READWRITE | SQLITE_open_CREATE | SQLITE_open_FILEPROT
<key>com.apple.developer.default-data-protection</key>
<string> NSFileProtectionCompleteUntilFirstUserAuthentication</string>
com.apple.developer.default-data-protection
NSFileProtectionCompleteUntilFirstUserAuthentication
该类型必须与itunes服务器上的功能集相匹配
3。重建并测试问题是否已解决
文件数据保护 除了iOS设备内置的硬件加密功能,苹果 使用一种称为数据保护的技术来进一步保护存储在闪存中的数据 设备上的内存。数据保护允许设备响应常见的 事件(如来电),但也支持高级别的加密 用于用户数据。关键系统应用程序,如消息、邮件、日历、联系人、, 默认情况下,照片和健康数据值使用数据保护,而第三方 安装在iOS 7或更高版本上的应用程序将自动接收此保护。 数据保护是通过构建和管理层次结构来实现的 密钥,并建立在每个密钥中内置的硬件加密技术之上 iOS设备。通过分配每个文件,以每个文件为基础控制数据保护 将文件提交给一个类;可访问性取决于是否已访问类键 解锁。随着苹果文件系统(APFS)的出现,文件系统变得越来越重要 现在可以进一步将键细分为每个区段(每个区段的一部分) 文件可以有不同的键)。详细信息请参见第节。