在后台应用程序时调用API和下载文件

时间:2017-09-13 12:37:06

标签: ios swift swift3

在我的应用程序功能中,用户可以从服务器下载文件夹和文件。

申请流程步骤

  1. 下载文件夹按钮单击

  2. FolderSize = API调用"获取文件夹信息" (此API返回文件夹的大小和文件夹包含的文件URL列表)

  3. DeviceFreeMemorySize =获取设备可用内存

  4. 下载过程的下一步

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    
    <button onclick="yourswap()">Your transition</button>
    <button onclick="badswap()">Simultaneous transition</button>
    <button onclick="goodswap()">Single transition</button>
    
    <div class="container">
      <div class="block-div" id="div3">(This is the page background)</div>
      <div class="block-div" id="div1">1</div>
      <div class="block-div" id="div2">2</div>
    </div>

    如果我的应用程序在前台运行,那么一切正常。

    第2步应用程序中使用主页按钮在后台移动。我的API不起作用。我不会得到 FolderSize

    使用此代码

    if DeviceFreeMemorySize > FolderSize {
        startDownloadFile()
    } else {
        display local notification
    }
    

    上面的代码帮助我在后台应用程序时下载文件

    获取文件夹信息API调用的Bellow代码

    let configuration = URLSessionConfiguration.background(withIdentifier: backgroundIdentifier)
    let manager: SessionManager = SessionManager(configuration: configuration)
    manager.download(url) // Download file 
    

    但是这个代码在后台应用程序时不起作用

    问:我的API如何在后台运行。

    我查看以下链接: -

    https://stackoverflow.com/questions/26540689/how-to-make-alamofire-download-progress-run-in-background-ios

    https://medium.com/swift-programming/learn-nsurlsession-using-swift-part-2-background-download-863426842e21

    AlamoFire Download in Background Session

0 个答案:

没有答案