ios - 当应用程序未运行时使用推送通知的内容更新 SQLite

标签 ios objective-c sqlite

有没有办法在收到推送通知但应用程序当前未运行(或应用程序被终止)后立即更新 SQLite。

如果通知在应用程序运行或在后台时到达 - “didReceiveRemoteNotification”方法处理我的更新。

如果通知在应用程序未运行时到达,我想将推送通知的内容更新到我的 sqlite。更新在用户点击通知时有效,但在用户点击应用程序图标时无效。 请帮忙。谢谢。

最佳答案

我认为没有点击就无法更新数据库。但是,如果您的应用使用 VOIP 等后台模式或苹果文档中提到的位置更新,https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

然后它可能会在一定时间内唤醒您的应用程序并执行更新部分。

编辑
顺便说一下,当推送通知到达时,服务器也应该更新,我认为推送通知不是更新数据库的好方法。相反,您应该调用您的服务器以获取最新的本地事件,然后更新到您的 sqlite。您可以在 didFinishLaunching 或 didEnterForeground 中执行此操作。只是一个建议。

关于ios - 当应用程序未运行时使用推送通知的内容更新 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29796165/

相关文章:

android - 跟踪移动本地数据库和可选云数据库之间的已删除条目

Android SQLite(一)没有这样的表

ios - 任何人都知道如何使表索引成为我的核心数据名称属性的前 4 个字符?

ios - 在Swift中向多个收件人发送短信

iOS SDK - 图像 mask

ios - 当设备无法检索 SKProduct 价格时显示 IAP 价格

objective-c - 在 NSString 对象中查找子字符串

sqlite - 修复 sqlite 编码

ios - 为什么我们在声明自定义 View 时不必使用 "frame"?

ios-sim 命令启动 iPhone 6 或 iPad 6