IOS在后台每隔一段时间执行一下 资料2
2016-04-24 20:58
281 查看
步骤:
1.在info.plist里加入UIBackgroundModes键,其值为数组,数组之一为voip字符串:
<key>UIBackgroundModes</key><array><string>voip</string></array>
2.在程序启动的时候调用- (void)setupBackgroundHandler函数,函数体如下:
解说:
- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void (^)(void))keepAliveHandler
函数功能:app每隔timeout唤醒一次。
0.要成功调用该函数,就必须在Info.plist里设UIBackgroundModes键的array值之一voip字符串.
1.timeout必须>=600
2.唤醒app的时间间隔是不精准的。
3.唤醒后只有10秒执行时间。即handler里的代码要在10秒类执行完。10秒后app再次被阻塞。
(可以用-backgroundTimeRemaining属性来返回剩余时间)
4.该函数成功调用后,在程序生命周期内有效。
该函数的效果在回到前台的状况下,依然有效。(因此可以把它当timer使.)
5.clearKeepAliveTimeout函数用来清除handler。
1.在info.plist里加入UIBackgroundModes键,其值为数组,数组之一为voip字符串:
<key>UIBackgroundModes</key><array><string>voip</string></array>
2.在程序启动的时候调用- (void)setupBackgroundHandler函数,函数体如下:
- (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void (^)(void))keepAliveHandler
函数功能:app每隔timeout唤醒一次。
0.要成功调用该函数,就必须在Info.plist里设UIBackgroundModes键的array值之一voip字符串.
1.timeout必须>=600
2.唤醒app的时间间隔是不精准的。
3.唤醒后只有10秒执行时间。即handler里的代码要在10秒类执行完。10秒后app再次被阻塞。
(可以用-backgroundTimeRemaining属性来返回剩余时间)
4.该函数成功调用后,在程序生命周期内有效。
该函数的效果在回到前台的状况下,依然有效。(因此可以把它当timer使.)
5.clearKeepAliveTimeout函数用来清除handler。
相关文章推荐
- IOS在后台每隔一段时间执行一下 资料1
- IOS开发时必须知道的哪些事。。。
- 对懂球帝ios版的用户体验
- iOS设计模式之原型模式
- 可复用且高度解耦的iOS用户统计实现
- 配合LLDB调试器进行iOS代码调试
- Macbook SSD硬盘空间不够用了?来个Xcode大瘦身吧!
- Bios工程师手边事—重启
- iOS 对plist增改操作
- iOS Xcode 常用快捷键
- IOS 设计模式 备忘录模式
- IOS-RunTime(刨根问底)
- IOS设计模式代理模式
- iOS开发实战:如何将非ARC的项目转换成ARC项目
- IOS 图片 移动 缩放 旋转 transform属性
- IOS 设计模式 享元模式
- KVO实现原理
- IOS 设计模式命令模式
- IOS开发中可能会遇到的那点事。。。(持续更新)
- IOS-代理模式