iOS Background Fetch 后台应用程序刷新的使用

前言:写这篇文章是由于最近在开发一款新的APP,以前开发的APP因为都属于工具类,也没有必要后台刷新,所以一直没有使用该功能,这次正好用到,所以写下记录下,顺便帮助自己加强记忆。


这个功能想必iOS程序猿们应该都知道了,毕竟出来很久了,在iOS7的时候就已经出来了,即时通讯的APP上一般都有使用该API,接下来就一起配置下:

1、配置

在开始创建 Background Fetch 功能,TARGETS->Capabilities->Background Modes,勾选 Background fetch,如果还需支持后台远程推送,则再勾选下面的 Remote notifications 即可,如下图所示:

iOS Background Fetch 后台应用程序刷新的使用_第1张图片
Background Fetch Capabilities

2、使用

首先在 AppDelegate 中的 didFinishLaunchingWithOptions: 方法中调用 setMinimumBackgroundFetchInterval: 方法

iOS Background Fetch 后台应用程序刷新的使用_第2张图片
didFinishLaunchingWithOptions:

然后执行下面的代理方法,在该代理方法中请求相关数据并刷新UI,

在这里还要提下 UIBackgroundFetchResult 是个枚举值, 有三个值, 分别为:

UIBackgroundFetchResultNewData  成功拉取数据    

UIBackgroundFetchResultNoData     没有新数据

UIBackgroundFetchResultFailed         拉取数据失败或者超时

iOS Background Fetch 后台应用程序刷新的使用_第3张图片
performFetchWithCompletionHandler:

最后再首页实现对应的方法即可

iOS Background Fetch 后台应用程序刷新的使用_第4张图片
refreshNewObjectForFetchWithCompletionHandler:

3、调试

如果以上步骤都做好,那么就打开模拟器调试一下,先将模拟器上APP切换为多任务模式,

调试的方式有两种:

第一种:在 Edit Scheme -> Run -> Options -> 勾选Launch due to a background fetch event


iOS Background Fetch 后台应用程序刷新的使用_第5张图片
Edit Scheme


iOS Background Fetch 后台应用程序刷新的使用_第6张图片
Launch due to a background fetch event

第二种:直接在 Xcode 菜单栏 Debug -> Simulate Background Fetch 进行模拟

iOS Background Fetch 后台应用程序刷新的使用_第7张图片
Debug

以上就是一个简单的后台刷新功能的开发和调试,再复杂的功能也是同样的思路。

学无止境,虽说iOS市场没有以前火爆,但技术上需要研究的东西还很多很多。与大家一起学习一起进步才是王道。欢迎来聊各种话题。

你可能感兴趣的:(iOS Background Fetch 后台应用程序刷新的使用)