我正在使用geofencing,当用户输入区域时,我从本地数据库中检查区域ID,如果有效则显示它。然后也更新本地数据库。问题是当应用程序处于 Activity 状态时一切正常。后台状态(密码锁定屏幕)未将数据插入数据库。
我也尝试这个
How run sqlite in background on the iPhone?NSOperationQueue,但无效。

任何人都有主意

最佳答案

您需要从XCode项目的功能选项卡上禁用数据保护,因为它在设备锁定时拒绝访问数据。

如果您的项目中还有其他要保护的敏感数据,则可以将降低的文件保护级别应用于SQLite数据库。

看一下NSFileManager中的NSFileProtectionNone属性和setAttributes:ofItemAtPath:error:方法。

10-07 19:30
查看更多