美文网首页
iOS退到后台,开始执行任务

iOS退到后台,开始执行任务

作者: 灵魂开瓶师 | 来源:发表于2017-06-22 16:49 被阅读44次

    无独有偶,我们公司就是搞特殊处理,退到后台才触发push操作,把数据传上去给服务器,再与服务器同步手机端没有的数据。这就逼迫我们想法子,我的理解是一退到后台将触发

    - (void)applicationDidEnterBackground:(UIApplication*)application{}方法

    所以要在这里面做文章了,发现了一个叫做UIBackgroundTaskIdentifier的对象,就是用它做延迟加载的,我根据这个对象网上查到一篇博客2015-02-28写的,说可以用

    - (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^__nullable)(void))handlerNS_AVAILABLE_IOS(4_0)NS_REQUIRES_SUPER;

    //当应用程序留给后台的时间快要到结束时(应用程序留给后台执行的时间是有限的),这个Block块将被执行

    然后我就懵懂的知道这就是需要的,“begin Background Task With Expiration Handler”==“使用到期处理程序启动后台任务”,字面上就是这个意思,太深入的执行方式还是不太了解,不过这样就够了,按照这么写就会有3分钟的后台处理时间,我的手机是iOS10.3.2系统的,测试到是3分钟,而查看之前的人说有10分钟,或许苹果爸爸又改了。

    代码块:

    初始化定义 applicationDidEnterBackground:方法体处理 结束后的销毁过程 计时器的打印

    就这样了,做个记录,参考博客:http://www.cnblogs.com/aaalice/p/4305138.html

    相关文章

      网友评论

          本文标题:iOS退到后台,开始执行任务

          本文链接:https://www.haomeiwen.com/subject/stpfcxtx.html