美文网首页
Alamofire-后台下载问题

Alamofire-后台下载问题

作者: Code_人生 | 来源:发表于2019-08-20 11:42 被阅读0次
问题一 -999

被释放了,会报-999,所以可以确定URLSession.init是一个单例

问题二 掉帧

测试之前先把模拟器上的App删掉,然后Xcode关掉,重新打开Xcode编译一下代码,再运行
Alamofire-系统URLSession中后台下载
1、开通后台下载权限,就会在下载完成的时候自己去执行func urlSessionDidFinishEvents(forBackgroundURLSession session: URLSession) {}方法
2、AppDelegate中执行self.backgroundSessionCompletionHandler = completionHandler

    var backgroundSessionCompletionHandler: (() -> Void)?

    func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping () -> Void) {
        self.backgroundSessionCompletionHandler = completionHandler
    }

3、urlSessionDidFinishEvents中执行DispatchQueue.main.async { guard let appDelegate = UIApplication.shared.delegate as? AppDelegate, let backgroundHandle = appDelegate.backgroundSessionCompletionHandler else { return } backgroundHandle() }

    func urlSessionDidFinishEvents(forBackgroundURLSession session: URLSession) {
        print("后台任务下载回来")
        self.navigationController?.pushViewController(DetailViewController.init(), animated: true)
        DispatchQueue.main.async {
            guard let appDelegate = UIApplication.shared.delegate as? AppDelegate, let backgroundHandle = appDelegate.backgroundSessionCompletionHandler else { return }
            backgroundHandle()
        }
    }
问题三 identifier
    func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping () -> Void) {        
        let configuration = URLSessionConfiguration.background(withIdentifier: identifier)
        let session = URLSession(configuration: configuration)
    }

相关文章

  • Alamofire-后台下载问题

    问题一 -999 被释放了,会报-999,所以可以确定URLSession.init是一个单例 问题二 掉帧 测试...

  • Alamofire - Request

    上一篇 Alamofire-后台下载 其中就介绍了关于 SesssionManager 到 SessionDele...

  • Alamofire-后台下载

    系统后台下载 config三种模式defaultephemeral本文主角background 使用分片下载 官方...

  • Alamofire-后台下载

    这一篇主要讲解后台下载,后台下载对于应用程序来说,是一个非常重要也比较好用的功能。虽然用好后台下载的确能够大大提升...

  • Alamofire-后台下载

    上一篇文章提到了后台下载,下面看看在Alamofire中是如何处理后台下载的。首先使用原生写法来实现一个后台下载任...

  • Alamofire-后台下载

    1、枚举 HTTPMethod rawValue属性值关联 2、单例 SessionManager.default...

  • Alamofire-后台下载及SessionManger流程分析

    我们在Alamofire-URLSession中讲到过URLSession实现的后台,我们用Alamofire实现...

  • Alamofire-下载器

    一、suspend和resume Request的suspend Request的resume 总结 resume...

  • 2019-08-22

    Alamofire-初探

  • vue下载 使用js-file-download插件 vue下

    问题引入:vue下载出现文件损坏的问题在下载的时候出现一个问题 下载的文件被损坏,无法打开,开始以为是后台的问题,...

网友评论

      本文标题:Alamofire-后台下载问题

      本文链接:https://www.haomeiwen.com/subject/khdusctx.html