当应用程序处于后台时,在iOS中定期从远程服务器获取数据的正确方法是什么?

当应用程序处于后台时,在iOS中定期从远程服务器获取数据的正确方法是什么?,ios,background-fetch,Ios,Background Fetch,我需要从服务器获取数据,并(可能)为用户创建本地通知。 在前台时,我使用单独的队列。当我在后台时(点击主页按钮后),我也可以这样做,但还有“后台获取”功能 我应该用哪一个?使用队列或后台线程并在应用程序转到后台时将其保留是更好的做法,还是应该暂停线程并等待“后台提取”请求?您必须使用后台提取。你的应用程序不会在后台运行,否则在正常情况下会运行。@rmaddy因此,我应该停止ApplicationIdentinterBackground上的任何活动,并等待performFetchWithCompl

我需要从服务器获取数据,并(可能)为用户创建本地通知。 在前台时,我使用单独的队列。当我在后台时(点击主页按钮后),我也可以这样做,但还有“后台获取”功能


我应该用哪一个?使用队列或后台线程并在应用程序转到后台时将其保留是更好的做法,还是应该暂停线程并等待“后台提取”请求?

您必须使用后台提取。你的应用程序不会在后台运行,否则在正常情况下会运行。@rmaddy因此,我应该停止
ApplicationIdentinterBackground
上的任何活动,并等待
performFetchWithCompletionHandler
,对吗?一旦你的应用程序进入后台,你只有30秒的时间。所以,是的,照你刚才说的做。@rmaddy我刚刚做了一个实验:我计划nstimer每10秒运行一次,然后打印到nslog。我使用Home按钮将我的应用程序发送到后台,几分钟后我的计时器仍然工作。为什么不在30秒后停止?在没有调试器的真实设备上尝试。