首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BGTaskScheduler.shared.register未调用

BGTaskScheduler.shared.register未调用
EN

Stack Overflow用户
提问于 2022-03-28 12:16:07
回答 1查看 1.2K关注 0票数 0

我正在使用背景刷新来安排本地通知和更新我的小部件。问题是任务注册方法没有被调用!

代码语言:javascript
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
    BGTaskScheduler.shared.register(forTaskWithIdentifier: "com.Mahmoud.AdaniLite.AppRefresh", using: nil) { task in
        print("Registered")
        self.handleAppRefresh(task: task as! BGAppRefreshTask)
    }
  return true
} 

我在寄存器方法中也有一个断点,其中有一个print语句,但两者都不起作用!

,我已经做了我的研究,到目前为止,我已经尝试了以下几点:

  1. I确保info.plist中的“允许后台任务调度器标识符”中填充了正确的任务标识符。我已经三次检查这个字符串在代码中是否正确使用。
  2. 启用了‘后台获取’功能。
  3. 在info.plist中添加了"App处理后台数据“到”必需的后台模式“
  4. ,在运行iOS 15

的实际设备上运行该应用程序。

任何帮助或指导都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2022-03-28 12:39:50

到目前为止,您只注册了任务处理程序。你还需要安排你的背景任务。

有关更多信息,请参见本指南:https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background/using_background_tasks_to_update_your_app

当您的后台任务将被执行时,它可能会有点不可预测,并且可能在您预期的时间内根本不会发生。

这概述了如何调试任务处理程序,以确保它们已注册并提交了正确的请求:https://developer.apple.com/documentation/backgroundtasks/starting_and_terminating_tasks_during_development

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71647323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档