iOS 后台完成倒计时的功能

最近在做一个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 解决后台暂停倒计时问题

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

推荐阅读更多精彩内容

  • 自从古老的iOS4以来,当用户点击home建的时候,你可以使你的APP们在内存中处于suspended(挂起)状态...
    木易林1阅读 8,417评论 1 4
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,734评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,230评论 4 61
  • 偶然间刷朋友圈时看到文杰写的这篇文章,感觉超级记忆特别神奇,轻轻松松可以获得别人特别努力得到的结果,如果不是自己认...
    打伞看日出阅读 2,586评论 0 2
  • 时间匆匆,我们给自己的承诺越来越多,总会有那么几个是丢失在遗忘的角落。 很多时候,我们在与其他人相处的情况下,总会...
    粉红豹先生阅读 4,734评论 0 1