Xcode 11-什么是新的“背景处理”背景模式?

phn*_*mnn 6 xcode background-process ios ios-background-mode xcode11

在XCode 11中,有一个新的后台模式“后台处理”。我找不到有关此新背景模式功能的任何信息。

后台模式功能图片

该信息是否有任何资源?此模式可以以某种方式影响在后台使用位置更新(区域监视和SLC)的应用程序吗?

Sal*_*tan 11

尚无文档。但是在WWDC2019中,他们解释了它是什么以及如何使用它。在这里链接: 苹果WWDC 2019

对此功能的简短说明:假设您想在后台清理数据库以删除旧记录。首先,您必须在“背景模式”中激活后台处理。然后在info Plist中添加后台任务调度程序标识符(项目1): fromInfo.plist文件快照

然后在“ ApplicationDidFinishLaunchingWithOptions”方法中,向任务注册您的标识符。 在此处输入图片说明

做您想在后台执行的工作并将其放入操作队列。在我们的情况下,清理功能如下所示: 在此处输入图片说明

现在,当应用程序进入后台时,我们必须在“ BGTaskScheduler”中安排后台任务。[注意:“ BGTaskScheduler”是一项新功能,用于计划将在后台执行的多个后台任务。

在此处输入图片说明

这个后台任务将每周执行一次以清理数据库。签出您可以提及的属性以定义任务类型。


phn*_*mnn 6

运行 BGTaskScheduler 任务需要“后台处理”模式。

BG任务调度器

用于调度任务的类,通过提交在后台启动应用程序的任务请求来运行。为后台任务配置应用程序 通过添加所需后台模式的功能以及添加任务标识符白名单,为后台任务配置应用程序。

配置应用程序的后台任务

通过添加所需后台模式的功能并添加任务标识符白名单,为后台任务配置应用程序。 在此输入图像描述


yoA*_*ex5 5

Xcode 背景模式

应用程序状态

foreground -> background -> suspended -> terminated
Run Code Online (Sandbox Code Playgroud)

background transfer- 当应用程序处于后台模式时执行一些任务

添加在后台模式下工作的功能

App Target -> Signing & Capabilities -> + Capability -> Background Modes
Run Code Online (Sandbox Code Playgroud)

您可以找到如下模式列表:

  • 音频 - 在后台模式下录制/播放音频
  • 位置 - 在后台模式下接收新的位置更新
  • 后台任务
    • 后台获取 - 后台应用程序刷新任务 - 在加载应用程序之前需要 30 秒来获取最新数据。
    • 后台处理任务 - 在系统友好时间(例如应用程序进入后台后)花费几分钟来完成大任务(清除视频内容)或优先任务(发送消息)

[后台会议]