首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在应用程序终止时执行活动

在应用程序终止时执行活动
EN

Stack Overflow用户
提问于 2016-12-15 19:51:49
回答 2查看 994关注 0票数 0

我是iOS开发公司的新手,所以请原谅我提前问了这个问题。

我试图通过API发布一些数据(比如30分钟之后),当应用程序处于前台或后台时,我能够做到这一点,但即使在应用程序被终止时,也有可能做到这一点吗?在应用程序处于后台时,我可以通过这段代码执行此活动

代码语言:javascript
复制
UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask;
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
    [app endBackgroundTask:bgTask];
}];

但一旦应用程序被终止,一切都会停止。我发现iOS应用程序的线程在终止3分钟后就会被杀死。

间隔后呈现UIView

如果以上是可能的,那么是否有可能在一个特定的时间后将一个特定的UIView动画显示在屏幕上,即使应用程序被终止了。提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-15 22:14:02

当应用程序终止时,它不能执行任何代码;如果调用应用程序在applicationWillTerminate中终止,您可以执行一些代码。在很多情况下不会是这样。

在iOS上,如果应用程序被挂起,则不能在特定时间或间隔之后执行代码。

您可以安排本地通知,以提示用户返回应用程序,但如果用户不点击通知或从其图标启动应用程序,则无法执行任何代码。

票数 2
EN

Stack Overflow用户

发布于 2016-12-15 20:06:52

请看一下UIApplicationDelegate协议这里这里方法。一旦系统决定关闭您的应用程序,这个方法就会被调用,这样您就可以在应用程序完成之前完成所有需要做的事情。这可能是根据您的需要将API数据发布到服务器。

请注意,根据文档,在用户按home按钮时,不能保证调用此方法,但只有当系统决定关闭应用程序时,才会调用该方法:

对于支持后台执行的应用程序,当用户退出应用程序时,通常不会调用此方法,因为在这种情况下,应用程序只是移动到后台。

如果您不知道Cocoa编程中Delegates的概念,可以将它们看作应用程序的一个实例对象( MVC设计模式中的控制器)与应用程序本身之间的特殊连接。如果有什么有趣的事情发生,比如应用程序启动或关闭,应用程序会告诉你的控制器。注意:这也适用于macOS编程。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41172263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档