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


转载自:https://www.jianshu.com/p/10ea4703cc74

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

作者:洋子总
链接:https://www.jianshu.com/p/10ea4703cc74
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

iOS Background Fetch 后台应用程序刷新的使用相关推荐

  1. iOS中允许后台应用程序刷新在开发中的注意事项

    系统根据你对软件的使用频率,定期在后台唤醒它.唤醒的表示形式就想你在前台操作一样.这时会自动加载相应的数据,来刷新界面.当用户再进来后看到的界面是最新的数据,不用再去加载,比较耗流量和电.如果不想使用 ...

  2. ios swift请求框架_Swift iOS BackgroundTasks框架-只需4个步骤即可刷新后台应用程序

    ios swift请求框架 IOS allows app to refresh it content even when it is sent to background. iOS can intel ...

  3. 后台获取(Background Fetch) - HTTP 203 Advent

    如果关注过 Google 相关的开发技术,对 HTTP203 这个栏目应该不陌生. 这是 HTTP203 圣诞节的特别版! Jake(@jaffathecake)和 Surma(@DasSurma)有 ...

  4. ios 退出程序通知后台_iOS10怎么关闭后台程序 苹果iOS10后台应用程序关闭方法(图文)...

    iOS10后台程序怎么关闭?随着iOS10正式版发布,目前不少iPhone5以上机型都可以升级全新的iOS10.对于非iPhone 7用户来说,升级iOS10无疑是当下果粉所最为关注的.但是很多iPh ...

  5. 【转】IOS的各种后台情况的实现

    iOS在升级到4.0以后就支持了多任务了.下文将详细介绍一下这个特性. 1.检查设备是否支持多任务 Apple出于性能的考虑,并不是所有的iOS设备升级到iOS4以后都支持多任务,比如iPhone 3 ...

  6. 什么是 Web API 中的 background fetch API

    在为 Web 编写代码时,有大量可用的 Web API.这个网站列出了您在开发 Web 应用程序或站点时可以使用的所有 API 和接口(对象类型). Web API 通常与 JavaScript 一起 ...

  7. 后台运行程序的几种方式

    后台运行程序的几种方式 目录 1. 当前终端后台运行 示例1,使用ctrl z, bg 示例2,使用& 示例3,重定向标准输出和标准错误输出 2. 脱离当前终端运行 示例4,使用nohup,忽 ...

  8. iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断)...

    iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断) 2013-12-11 21:13 1416人阅读 评论(0) 收藏 举报  分类: cocoa SDK(139)  ...

  9. 实现iOS长时间后台的两种方法:Audiosession和VOIP(转)

    分类: Iphone2013-01-24 14:03 986人阅读 评论(0) 收藏 举报 我们知道iOS开启后台任务后可以获得最多600秒的执行时间,而一些需要在后台下载或者与服务器保持连接的App ...

最新文章

  1. AI真人表情包、斗地主AI......DeeCamp学员做了50个好玩又实用的AI项目
  2. linux无线网卡的安装
  3. X86/ARM 模拟器
  4. 数据库 三范式最简单最易记的解释
  5. 远程登录的几种方式对比
  6. Oracle 常用命令举例
  7. SharePoint服务器端对象模型 之 访问文件和文件夹(Part 4)
  8. PyTorch | torch.full()使用方法 | torch.full()如何使用? torch.full()例子说明 | 通过torch.full创建全相同的张量
  9. Android的CheckBox(多选框)
  10. 深海迷航坐标传送代码_深海迷航 代码整合
  11. 2020-10-13 用JavaScript做的贪吃蛇小游戏
  12. 关于js的match用法
  13. 数据分析师要具备什么能力?数据分析师必备的7种能力
  14. 烟花绽放c语言程序设计摘要,描写烟花绽放的优美句子
  15. 【面试题001】最强java八股文
  16. python怎样安装whl文件
  17. 计算机毕业设计(9)python毕设作品之校园失物招领系统
  18. 头顶技术价格两座大山 OLED揠苗助长前景蒙忧
  19. 分数问题的各种语言描述
  20. 产品经理经典面试题整理:问题拆解与回答思路

热门文章

  1. jquery的学习个人总结
  2. 关于一个web站点的欢迎页面
  3. 走进诺奖大师系列:科斯(Ronald H.Coase)
  4. java服务器保存特殊字符和表情入库报错
  5. 使用Assimp库读取mtl文件数据-光照模型Shader
  6. 服务器连接硬盘出错,IBM服务器硬盘常见问题与故障诊断
  7. 实验1的运行过程及心得体会
  8. 【原创】python语言实现半自动排班系统
  9. SQL Server的安装和要求
  10. jinja2中if和for的使用