Ios7 iOS 7-真的有没有一种方法可以在没有推送消息的情况下通过后台获取进行可靠的轮询?

Ios7 iOS 7-真的有没有一种方法可以在没有推送消息的情况下通过后台获取进行可靠的轮询?,ios7,Ios7,我有一个应用程序,我需要通过轮询创建本地通知,而不进行推送—这主要是由于客户端基础结构的限制及其安全模型 我读过:,我看过David Chan的WWDC演示文稿,其中单推消息启动下载任务,但我真正需要的是在iOS 7中定期(如每十分钟)进行后台提取 我见过网络电话黑客。没有。没有用户交互或推送消息,有什么非黑客方式可以做到这一点?你能给我举个例子吗 以下是我所知道的: 后台数据任务将在调试器中工作,但如果您可以在IPA上获得控制台,您将很快发现它们确实被禁止(从而使许多示例无效) 后台URL任务

我有一个应用程序,我需要通过轮询创建本地通知,而不进行推送—这主要是由于客户端基础结构的限制及其安全模型

我读过:,我看过David Chan的WWDC演示文稿,其中单推消息启动下载任务,但我真正需要的是在iOS 7中定期(如每十分钟)进行后台提取

我见过网络电话黑客。没有。没有用户交互或推送消息,有什么非黑客方式可以做到这一点?你能给我举个例子吗

以下是我所知道的:

  • 后台数据任务将在调试器中工作,但如果您可以在IPA上获得控制台,您将很快发现它们确实被禁止(从而使许多示例无效)

  • 后台URL任务需要自定义委托,但获取完成处理程序不确定。这也是我发现的IPA和控制台

  • 我希望避免使用AFNetworking lib,因为它非常简单


  • 后台抓取不是一个可靠的解决方案-你是任由操作系统摆布,它不是很仁慈。滥用iOS后台模式不是一个可靠的解决方案——众所周知,苹果会在没有正当理由的情况下拒绝启用后台模式的应用程序,如位置、VOIP和音乐播放。后台URL任务不是唤醒应用程序的可靠工具;他们会唤醒它,但应用程序在后台的唤醒程度不足以让后台URL任务排队

    您最好也是最想要的方法仍然是后台获取,但请做好失望的准备。您的应用程序不会在您需要的时间间隔内被唤醒。此外,用户还可以在应用程序切换器屏幕中关闭应用程序,导致你的应用程序在打开之前永远不会醒来

    除了推送,没有真正可靠的方法。为了用户体验,您需要坚持与客户沟通。

    不幸的是,在iOS上没有“可靠”的方法来做到这一点。在后台获取API中,您不能保证在希望进程运行时运行该进程。正如您所说,您已经看过API,所以我可能要告诉您一些您已经知道的事情。本地通知也不能解决您的问题,因为这不是一种唤醒应用程序并启动网络事件的方法。这是苹果公司不希望看到的行为,因为这将否定他们整合后台任务的全部目的

    对于这样的事情,你确实需要有一个推送机制,所以如果这是需要的,那么你可能必须向客户强调这一点