iOS开发课程:后台模式(获取)

如何定期从网络下载内容? iOS有哪些背景模式可用?


当用户没有积极使用您的应用程序时,系统会将其移至后台状态。 对于许多应用程序而言,后台状态只是暂停应用程序的短暂停留。 挂起应用程序是延长电池寿命的一种方式,它还允许系统将重要的系统资源投入到引起用户注意的新的前台应用程序中。

需要在后台运行以支持特定类型任务的应用可以声明其对一种或多种后台执行模式的支持。

了解有关Apple Developer的更多信息。 在这里您可以了解所有背景模式。 我们将在该文章中讨论bg提取。


该应用程序会定期从网络下载并处理少量内容。

要支持此模式,请从Xcode项目中“功能”选项卡的“背景模式”部分启用“背景获取”选项。 (您也可以通过在应用程序的Info.plist文件中将UIBackgroundModes值包含UIBackgroundModes键来启用此支持。)启用此模式并不能保证系统会给您的应用程序任何时间执行后台获取。 系统必须在您的应用程序获取内容的需求与其他应用程序以及系统本身的需求之间取得平衡。 在评估了这些信息之后,系统会在有很多机会的时候为应用提供时间。

当有好的机会出现时,系统会在后台唤醒或启动您的应用程序,然后调用应用程序委托的application:performFetchWithCompletionHandler:方法。


创建一个新的Single View App项目。

热键:shift + Command + N


添加后台模式功能

  • 选择项目
  • 开放目标的能力
  • 激活背景模式
  • 检查背景提取

打开AppDelegate.swift文件。

修改文件中的代码。

查看控制台输出。

数据在这里!

performFetchWithCompletionHandler结果:可选(“ \ n <html xmlns = \”http://www.w3.org/1999…………。

是的 我们有数据。 有什么用呢? 这是你的选择。


设置申请方案

  • 开放方案设置
  • 打开选项标签
  • 检查背景提取

在模拟器上运行。

是的 现在应用程序尚未启动,并且后台获取模拟已经启动。


你完成了! 拍! 拍!

请记住,成功的秘诀是不断学习和与同事沟通,包括自我教育。

这是有关背景提取的小指南。 在Apple Developer网站上了解更多信息。 不要停止自我教育。

GitHub项目

订阅我的帐户以获取有关新故事的通知。

如果您还有问题,请在评论中写。 我将在以后的文章中回答。