我使用geofencing
,当用户进入该区域时,我从本地数据库检查区域ID,如果有效则显示它。然后再更新本地数据库。问题是应用程序何时在活动状态下工作正常。当在后台状态(密码锁定屏幕)中应用程序没有将数据插入数据库时。
我也试试这个
How run sqlite in background on the iPhone?
NSOperationQueue
但是没有用。
任何人都有想法
答案 0 :(得分:2)
您需要在XCode项目的功能选项卡中禁用数据保护,因为它在设备锁定时拒绝访问您的数据。
如果项目中有其他要保护的敏感数据,则可以将降低的文件保护级别应用于SQLite数据库。
查看NSFileManager中的NSFileProtectionNone
属性和setAttributes:ofItemAtPath:error:
方法。