技术控

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

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

[复制链接]
他是我消失的梦 投递于 2016-10-16 17:32:37
174 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.



上一篇:【Java深入学习系列】三. 那些年我们用过的日志框架
下一篇:【Java深入学习系列】二. 值传递Or引用传递?
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
广告位,坐下看看
回复 支持 反对

使用道具 举报

我要投稿

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

© 2001-2017 Comsenz Inc.

返回顶部 返回列表