Android有服务,但在iOS中是否有实现类似功能的等效或方式?

时间:2011-03-08 18:45:56

标签: iphone android service ios4

在我的Android应用程序中,我可以轻松创建一个可以在后台运行以执行任意例程的Service对象。在我的情况下,我有一个服务,它维护与服务器的连接,并在收到消息后通知用户。此服务仅在特定活动进入其onPause或onStop周期时打开,并在活动恢复时关闭

有没有办法用iOS做到这一点?我已经开玩笑了,只在Apple开发者网站上遇到过这个页面:

http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

那里描述的所有内容似乎都不能满足我的需求,因此我想与SO社区核实是否有人有某种解决方案。

2 个答案:

答案 0 :(得分:0)

至于在后台运行自定义服务,一旦您的后台进程超过10分钟,您的应用程序将被终止,您至少不会超过10分钟。

如果您想在iOS中进行一致的后台处理,您必须使用您提供的链接中详细介绍的多任务API之一

答案 1 :(得分:0)

Apple正在谈论的方法是使用Push Notification Service。一般来说,在4.x +中你有Remote Notifications and Local Notifications。您不必直接进行,Urban Airship如果您不喜欢破解原始TCP流,则提供Web服务选项。

此外,如果推送服务与您的架构(例如Twitter客户端)不兼容,当您的应用退出时,您可以请求更多时间来执行后台处理/使用您在该URL找到的API安排更多工作

这是一种作弊行为,但您可以使用UIBackgroundModes Info.plist属性注册您的应用程序以进行位置更新,当您获得位置更新时,“当时也恰好检查新消息”。实际上,这是在位置更改事件上支持您的消息轮询代码。