iOS后台服务

本文链接:https://www.jianshu.com/p/a0f74925c106
工程源码:https://gitee.com/obarong/TestDelegate

一、目的

在app添加一个后台运行的东西,自动执行设定好的任务。

二、现象

现在的项目里有多线程后台下载的功能。网上找后台服务,出来的都是后台运行app。

三、过程

可能的方法:

  1. 多线程
  2. 类似安卓的服务

方法1的方案:

  1. performSelector
  2. NSThread
  3. NSTimer
  4. GCD
  5. NSOperation
  6. RunLoop

过程:
用方法1-1,创建delegate的单例,再创建线程运行。

background

四、结果

不能实现服务,但可以实现app内的后台运行功能。

参考

iOS – 委托(Delegates) | 菜鸟教程
https://www.runoob.com/ios/ios-delegates.html

ios的线程和同步异步操作 | 刘彦玮的技术博客
http://liuyanwei.jumppo.com/2015/08/19/ios-ThreadAndAsynchronization.html

日志

5.30

由于iOS限制app后台运行,所以没办法做成服务。只能用多线程的方法。创建delegate,view拿到delegate的handle,发送消息到delegate,然后开线程。

息屏后活动保持3秒。后台运行保持3分钟。

怎么保证线程一直工作?前台亮屏运行。

切换到别的view后,原来的实例还在工作吗?是。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 青葱岁月里,美好年华中,每个女孩都有过一个幻想,自己未来的他是什么样子的,是怎样的英俊帅气,怎样的才华横溢,而我们...
    若之晓浅阅读 157评论 0 1
  • 5829-妍宝儿-同桌芷语 投稿主题:原创 女生成长记 所谓的成长,就是随着年龄的增加,经验的积累,漫漫有所改...
    大圣的麻麻阅读 439评论 2 0
  • 苏霍姆林斯基曾说:“交给学生能借助已有的知识去获得新知识,这是最高的教学技巧之所在。” 教学不是知识的传递,而是知...
    耕耘三尺有天地阅读 1,029评论 0 13