iOS开发

iOS 后台完成倒计时的功能

2016-03-11  本文已影响3087人  文刂丽

最近在做一个app,其中的需求 获取手机验证码的时候需要实现60s倒计时。

但由于app本身不是音频类的,所以想试试利用音频类app的特权实现我app的倒计时功能,

又害怕 通不过app store的审核,在网上搜了一下资料了解到。

app所谓的后台是一个虚拟的后台,app进入后台之后主线程就会被挂起。定时器(实现倒计时功能)是在主线程里面的。所以在主线程被挂起的时候,定时器也被挂起了,解决办法是在app进入到后台的时候利用 UIApplication 的 beginBackgroundTaskWithExpirationHandler:实例方法,来向 iOS 借点时间。

默认情况下,如果在这个期限内,长期任务没有被完成,iOS 将终止程序。可以使用 beginBackgroundTaskWithExpirationHandler:实例方法,来向 iOS 再借点时间。完成后,要告诉iOS,任务完成,提交完成申请“好借好还”。

参考链接:

iOS程序进入后台后仍运行定时器NSTimer

IOS 后台挂起程序 当程序到后台后,继续完成Long-Running Task 任务

iOS 发送验证码倒计时

iOS 解决后台暂停倒计时问题

上一篇 下一篇

猜你喜欢

热点阅读