iOS保持线程在后台运行
Posted
技术标签:
【中文标题】iOS保持线程在后台运行【英文标题】:iOS keep thread running in background 【发布时间】:2013-09-24 20:21:27 【问题描述】:我正在开发一个仅供公司内部使用的应用程序。(ios 5 及更高版本)
应用程序执行一些任务,然后对多个 Web 服务进行大量调用。(一些信息是从核心数据读取/写入的)。 问题是所有调用加起来需要超过 10 分钟。
如何让线程在后台与 Web 服务进行永久通信?我可以每 10 分钟创建一个新线程吗?
【问题讨论】:
由于您使用的是 iOS 5,因此您可以在应用方面做的事情不多。您可以创建一个批处理过程,其中应用程序将批量请求发送到开始执行工作的单个服务器并返回可用于跟踪状态和检索数据的令牌。 【参考方案1】:只有某些类型的应用程序可以在后台运行超过 10 分钟。
在你的情况下,你可能想研究一下 iOS 7 新增的“后台获取”模式。
看这里:
iOS App Programming Guide
【讨论】:
我需要兼容 iOS 5 及更高版本 看看这篇文章:***.com/questions/9738488/… 我可以使用 voip 模式不断创建线程来调用 web 服务吗?这行得通吗? 如果该应用程序仅供内部使用,那么如果它不在应用程序商店中,您几乎可以做您想做的事情。我以前没有尝试过你正在做的事情 - 但你只需要在 Info.plist 中设置一个值,然后自己试一试,看看它是否有效。 我尝试了 voip 模式,但是当 10 分钟后调用 voip 回调时,我只有几秒钟的时间,如果我创建了一个新线程,它就会被挂起。我想要一个解决方案,其中线程将永远持续运行而不会中断,但没有运气..以上是关于iOS保持线程在后台运行的主要内容,如果未能解决你的问题,请参考以下文章