请选择 进入手机版 | 继续访问电脑版

技术控

    今日:78| 主题:61765
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] Continue Network Fetching Even When App Goes to Background

[复制链接]
他是我消失的梦 发表于 2016-10-16 17:32:37
177 5
Problem

  When an iOS app goes to background, network operations (GET/POST/Whatever) will be paused.
  For long running network operations, this is a problem because the the operation is paused, and the app most likely at some point in time will be killed by the OS.
  Then you have to start all over again.
  Solution

  iOS provides a way to register your long running tasks, so that it gets another minute or more in the background.
  The          beginBackgroundTaskWithExpirationHandler    is the magic.  
  Let’s see the code to using it:
  1. func registerBackgroundTask() {
  2.   // 1. Register task with expiration handler
  3.   let backgroundTask = UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler {
  4.     // 2. If takes too long
  5.   }
  6.   // Code for your long running task (synchronous case)
  7.   // 3. End task
  8.   UIApplication.sharedApplication().endBackgroundTask(backgroundTask)
  9. }
复制代码
More than just network operations

  While the situation cited in this post is on network operations, you should realize that any long running tasks can be registered.
  For example, if you have an image processing task that could take minutes, it can be extended as well.
zoukai125401 发表于 2016-10-16 18:08:36
确实说的很好
回复 支持 反对

使用道具 举报

aaabbbccc 发表于 2016-10-16 21:29:59
别用你的脾气来挑战我的个性!
回复 支持 反对

使用道具 举报

生死疲劳 发表于 2016-10-18 03:17:11
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复 支持 反对

使用道具 举报

谷晶金 发表于 2016-10-23 19:59:29
路过的帮顶
回复 支持 反对

使用道具 举报

方浩 发表于 2016-11-18 06:41:37
广告位,坐下看看
回复 支持 反对

使用道具 举报

我要投稿

推荐阅读


回页顶回复上一篇下一篇回列表
手机版/c.CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 | 粤公网安备 44010402000842号 )

© 2001-2017 Comsenz Inc.

返回顶部 返回列表