即使ios应用程序在后台,也可以调用web服务



在我的应用程序中,我需要每15分钟记录一次用户状态。如果应用程序处于后台(未被杀死),有可能吗??

当前我启用后台位置更新。但是如何每15分钟调用一次

虽然其他关于后台提取的答案是正确的,但还有另一个名为VoIP的后台选项,Skype等应用程序使用该选项。在这种情况下,操作系统会更频繁地唤醒你的应用程序(如果我没记错的话,甚至每10分钟一次),你可以在后台继续ping你的服务器。显而易见的缺点是,你的应用程序必须具有IP语音功能,否则它会在应用商店被拒绝。

您所需要做的就是添加调用setKeepAliveTimeout:handler:方法,并在后台启用voip功能。

只是为了完成而添加这个

您可能需要查看iOS7及更高版本中添加的后台获取功能:

http://www.appcoda.com/ios7-background-fetch-programming/https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html(搜索后台提取)

你无法将时间间隔控制在15分钟,但你会发现这种机制是苹果允许的最接近的机制。

当您的应用程序处于后台模式时,不可能以明确指定的时间间隔执行网络呼叫。你可以告诉你的应用程序使用后台提取

本文对您可以使用此API实现的功能进行了很好的概述。基本上,它允许你告诉iOS你的应用程序想在后台执行网络呼叫,但你无法准确控制iOS何时以及多久执行一次网络呼叫。iOS会为您安排网络通话,根据您的应用程序的使用方式,它会采用执行请求的频率。文档可在此处找到。

相关内容

最新更新