本文链接:http://08643.cn/p/a0f74925c106
工程源码:https://gitee.com/obarong/TestDelegate
一、目的
在app添加一个后台运行的东西,自动执行设定好的任务。
二、现象
现在的项目里有多线程后台下载的功能。网上找后台服务,出来的都是后台运行app。
三、过程
可能的方法:
- 多线程
类似安卓的服务
方法1的方案:
- performSelector
- NSThread
- NSTimer
- GCD
- NSOperation
- RunLoop
过程:
用方法1-1,创建delegate的单例,再创建线程运行。
四、结果
不能实现服务,但可以实现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后,原来的实例还在工作吗?是。