前言:写这篇文章是由于最近在开发一款新的APP,以前开发的APP因为都属于工具类,也没有必要后台刷新,所以一直没有使用该功能,这次正好用到,所以写下记录下,顺便帮助自己加强记忆。
这个功能想必iOS程序猿们应该都知道了,毕竟出来很久了,在iOS7的时候就已经出来了,即时通讯的APP上一般都有使用该API,接下来就一起配置下:
1、配置
在开始创建 Background Fetch 功能,TARGETS->Capabilities->Background Modes,勾选 Background fetch,如果还需支持后台远程推送,则再勾选下面的 Remote notifications 即可,如下图所示:
Background Fetch Capabilities2、使用
首先在 AppDelegate 中的 didFinishLaunchingWithOptions: 方法中调用 setMinimumBackgroundFetchInterval: 方法
didFinishLaunchingWithOptions:然后执行下面的代理方法,在该代理方法中请求相关数据并刷新UI,
在这里还要提下 UIBackgroundFetchResult 是个枚举值, 有三个值, 分别为:
UIBackgroundFetchResultNewData 成功拉取数据
UIBackgroundFetchResultNoData 没有新数据
UIBackgroundFetchResultFailed 拉取数据失败或者超时
performFetchWithCompletionHandler:最后再首页实现对应的方法即可
refreshNewObjectForFetchWithCompletionHandler:3、调试
如果以上步骤都做好,那么就打开模拟器调试一下,先将模拟器上APP切换为多任务模式,
调试的方式有两种:
第一种:在 Edit Scheme -> Run -> Options -> 勾选Launch due to a background fetch event
Edit Scheme Launch due to a background fetch event第二种:直接在 Xcode 菜单栏 Debug -> Simulate Background Fetch 进行模拟
Debug以上就是一个简单的后台刷新功能的开发和调试,再复杂的功能也是同样的思路。
学无止境,虽说iOS市场没有以前火爆,但技术上需要研究的东西还很多很多。与大家一起学习一起进步才是王道。欢迎来聊各种话题。
网友评论