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