iPhone:重复后台任务

Posted

技术标签:

【中文标题】iPhone:重复后台任务【英文标题】:iPhone: repeating background task 【发布时间】:2011-05-19 20:51:07 【问题描述】:

我正在寻找推送通知的替代方法。我希望我的应用程序定期连接到服务器并在某种后台任务中检查新消息。如果发现新消息,我可以使用本地通知通知用户,但据我所知,Apple 不喜欢在后台运行的应用程序。

是否有某种方法可以安排代码以某个设定的时间间隔运行,即使应用程序在后台或完全关闭时也是如此? (对于那些了解 android 的人,我正在寻找 BroadcastReciever 和 Service 之类的东西)如果我能做到,它将解决我所有的问题。

TIA!

PS:我们正在为 ios 4+ 开发

【问题讨论】:

“为 Apple 的推送通知服务付费”是什么意思?使用它不收取任何费用(标准应用开发者费用除外)。 我一定在某处读过,但你是对的。我已经编辑了帖子以排除该声明。谢谢! 嗨...我也想每天在特定时间(为本地通知设置的时间)调用我的网络服务...即使应用程序在后台...我该怎么做。 . @Rajneesh071 这在 iOS 上是不可能的。苹果专门阻止了这种操作。这在 Android 上很容易做到。 嗯...但我想做这个任务...我可以使用推送通知... 【参考方案1】:

不幸的是,iOS 中没有一个好的机制来做到这一点。您仅有的两个选择是使用位置服务 (significantLocationChange) 在设备移动时在后台获得通知,或者假装是 VOIP 应用程序,在这种情况下,您可以按指定的时间间隔请求处理时间。但是,第二种方法不会让您的应用在 App Store 中获得批准。

【讨论】:

以上是关于iPhone:重复后台任务的主要内容,如果未能解决你的问题,请参考以下文章

为啥有人说Apple 不允许iphone运行后台任务?

iPhone OS 4 多任务处理 - 在后台播放音频

NSURLSession 后台任务:避免重复

iPhone SDK SDL_openAudio 支持多任务

iPhone在后台运行周期性进程 - 电池优化方式

如何在后台线程中按顺序运行任务[重复]