iOS 13:BackgroundTasks框架不执行后台作业
当应用程序状态为后台/终止时,我需要执行特定任务。 任务必须从iOS 13:BackgroundTasks框架不执行后台作业,ios,swift,background-process,ios13,background-fetch,Ios,Swift,Background Process,Ios13,Background Fetch,当应用程序状态为后台/终止时,我需要执行特定任务。 任务必须从CoreData表中获取数据,形成JSON,然后使用restapi调用使用URLSession.shared同步到服务器 我精确地遵循了苹果和几个博客的文档,从编码和Xcode配置的角度设置了后台作业 我已将时间间隔设置为应用程序进入BGAppRefreshTask后台后1分钟 request.earliestBeginDate = Date(timeIntervalSinceNow: 60) 知道这一事实后,iOS系统需要满足许多
CoreData
表中获取数据,形成JSON
,然后使用restapi调用
使用URLSession.shared
同步到服务器
我精确地遵循了苹果和几个博客的文档,从编码和Xcode配置的角度设置了后台作业
我已将时间间隔设置为应用程序进入BGAppRefreshTask
后台后1
分钟
request.earliestBeginDate = Date(timeIntervalSinceNow: 60)
知道这一事实后,iOS系统需要满足许多参数才能执行后台提取。
我等了24个小时让应用程序运行后台作业,但一次也没执行作业
请分享,如果有人有同样的经历,并提出了具体的解决方案或理由
参考链接,我遵循
URLSession.shared
被明确记录为
应用程序未运行时,无法执行后台下载或上载
创建适合后台处理的会话:
let config = URLSessionConfiguration.background(withIdentifier: "foo")
let session = URLSession(configuration: config)
谢谢你的建议。然而,在后台作业执行后,我已经在UserDefaults中记录了一个时间戳。但实际上作业并没有运行。不过,我将实现您对RESTAPI调用的建议。这里也有同样的问题。我让它工作了一个星期。但在我将第二个任务添加到白名单后,它就不再工作了。它的提交和注册情况良好。不知何故,系统不会触发这些任务。我尝试在Xcode中使用命令来模拟运行,效果很好。