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

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


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

1、配置

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

Background Fetch Capabilities

2、使用

首先在 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市场没有以前火爆,但技术上需要研究的东西还很多很多。与大家一起学习一起进步才是王道。欢迎来聊各种话题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,025评论 3 119
  • 文字绕图 浮动的元素不会盖住文字,文字会自动环绕在浮动元素的周围,所以我们可以通过浮动来设置文字环绕图片的效果。 ...
    Lrrrrtt阅读 306评论 0 0
  • 教育即唤醒,美德即幸福,决心即信心。这唤醒生命的三句话让我更加明白了致良知的意义。致良知,首先要唤醒自己的良知。每...
    王文晓阅读 187评论 0 1
  • 了解别人较难,了解自己更难,如果能有清楚的自我认知。无论在生活中还是事业上都会少走很多弯路。
    A趋势阅读 196评论 0 1