我有需要与服务器进行通信的应用程序(刷新它的数据),每24小时一次。 这需要发生,即使应用程序不公开,也没有在后台运行。
理想情况下,我想要的是:
- 每隔24小时,我的服务器发送推送通知到iPad
- 这唤醒了应用程序,并运行必要的刷新数据的代码
- 然后,将通知被丢弃
任何的可能吗?
是该应用只唤醒通知上的用户点击之后? 或者,我可以运行出通知之前一些代码? 我甚至可以丢弃的通知邮件?
如果推送通知是不这样做的正确方法是什么???
多谢你们!
我有需要与服务器进行通信的应用程序(刷新它的数据),每24小时一次。 这需要发生,即使应用程序不公开,也没有在后台运行。
理想情况下,我想要的是:
任何的可能吗?
是该应用只唤醒通知上的用户点击之后? 或者,我可以运行出通知之前一些代码? 我甚至可以丢弃的通知邮件?
如果推送通知是不这样做的正确方法是什么???
多谢你们!
与iOS 7的发布,这是最后可能使用远程/静音的通知。 他们的工作一样推送通知,但不是提醒用户他们立刻可以启动背景提取模式和上传/下载新内容。
下面是简单的教程: http://www.objc.io/issue-5/multitasking.html
这是唯一可能的,如果你的应用程序是一个报亭应用,如果是,你可以发送推送通知content-available: true
每24小时一次。
如果它不是一个报亭应用,您可以改用GPS围栏运行代码。 它允许让用户设置GPS围栏,如果他们想要的应用,当用户接近的区域(即他们的家庭/工作)更新。 这将唤醒应用程序,你可以运行在后台下载即可。 Instapaper的例如做到这一点。
如果周期总是要在24小时可以使用本地通知,而不是推送通知。
您的应用程序将无法运行,除非用户打开了推送通知的任何代码,推送通知是由OS处理,你的应用程序有没有对他们的控制,同时它不是主动或在后台,你应该看一看推通知编程指南
完成你正在尝试做的另一种方式,是每一个应用程序被启动,最后一次更新发生的24个小时内较早的时间从服务器获取数据,
它采用所谓的VOIP推送通知是可能的。 该通知可以在后台运行的代码,即使该应用程序是完全封闭的。